FirebaseUI-iOS icon indicating copy to clipboard operation
FirebaseUI-iOS copied to clipboard

FirebaseUI Apple Sign-in method Rejected from App Store

Open babkouew opened this issue 4 years ago • 20 comments

Hi - I am trying to submit my app to the App Store but it got rejected by the App Review Team here is what they wrote:

"Guideline 2.5.13 - Performance - Software Requirements: The Apple Sign-in authentication method does not use LocalAuthentication as the App's primary authentication mechanism. LocalAuthentication must be your app's primary biometric authentication method, and any other custom facial recognition mechanism should be optional for login and cannot replace LocalAuthentication."

I have implemented the new FUIOAuth.appleAuthProvider() method to comply with the new rule that requires developers to provide sign-in with Apple in their App. As it stands if we cannot use FUIOAuth.appleAuthProvider() to implement "sign-in with Apple" then we can't use the FUIAuth at all.

My only option for now is to implement Apple sign-in only outside of FUIAuth and implement the required LocaAuthentication protocol myself.

Could you please suggest any workaround this issue? Did it happen to anyone besides me?

Thanks

babkouew avatar Jan 08 '20 01:01 babkouew

FirebaseUI doesn't use a custom biometric auth. Can you make sure you've linked the LocalAuthentication framework in your app? It should be linked automatically, but something may have messed up your archive build.

If it is already linked, you should submit an appeal to Apple.

morganchen12 avatar Jan 08 '20 07:01 morganchen12

Thanks Morgan - The LocalAuthentication framework was not linked. I will resubmit the App and close this issue if it goes through.

babkouew avatar Jan 08 '20 21:01 babkouew

@morganchen12 I just had an app being rejected for using the "Sing In with Apple" provider, but the rejection reason is different than the one described by @babkouew above:

We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect:

  • Your app uses Sign in with Apple as a login option but does not use Sign in with Apple button design, branding and/or user interface elements appropriately as described in the Sign in With Apple Human Interface Guidelines. The style of the Sign In with Apple button does not conform to the Human Interface Guidelines.

This is what my app's log-in screen looks like, including the Apple button:

Simulator Screen Shot - iPhone 11 Pro - 2020-01-09 at 13 01 44

The button looks slightly different than their guidelines, like the centering of the text which in the FirebaseUI example is slightly off. Any ideas if that could be fixed without and update on your end?

oviroa avatar Jan 09 '20 21:01 oviroa

Hey @oviroa thanks for bringing this up to us. Do you have more details on the reason? Is it the text centering issue? They do not specify the centering requirement in the guidelines. We could modify the alignment but we want to make sure as it will affect the other buttons too.

bojeil-google avatar Jan 09 '20 21:01 bojeil-google

@bojeil-google The centering is just my assumption. They tend to be rather cryptic in their responses. This is the whole thread I had with Apple:

**Hello,

Thank you for your reply. The style of the Sign In with Apple button does not conform to the Human Interface Guidelines. Please see the previous message for more information and a link to the HIG website.

Best regards,

App Store Review Jan 9, 2020 at 7:14 AM From oviroa Can you please be more specific? Is the language wrong? How does button design not comply? Is there a user flow issue (order of screens etc.)? Thanks! Jan 9, 2020 at 4:57 AM From Apple Guideline 4.0 - Design

We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect:

  • Your app uses Sign in with Apple as a login option but does not use Sign in with Apple button design, branding and/or user interface elements appropriately as described in the Sign in With Apple Human Interface Guidelines.

Next Steps

To resolve this issue, please revise your app to address all instances of this type of issue.

Resources

For information on improving and enhancing your app:

  • Watch the video The Ingredients of Great Apps to understand the basics of great apps.
  • Watch the video iPhone and iPad User Interface Design for practical design tips.
  • Watch iOS Development Videos to learn about programming and design tips.
  • Review the iOS Human Interface Guidelines and ensure that your app's interface and design adhere to these guidelines.

Please see attached screenshot for details.**

oviroa avatar Jan 09 '20 21:01 oviroa

Thanks, @oviroa. @renkelvin will help you out. Perhaps we can provide you with a separate build with different alignment. If that ends up working, we will know for sure the underlying cause and update the library to comply with that.

bojeil-google avatar Jan 09 '20 23:01 bojeil-google

@bojeil-google @renkelvin Thanks, that would work. Just provide me the relevant files and I will replace in my locally installed pod (I am using Cocoapods.)

oviroa avatar Jan 09 '20 23:01 oviroa

@oviroa Please try update your podfile.

pod 'FirebaseUI', :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :branch => 'button-align'

And let me know if it works.

renkelvin avatar Jan 10 '20 00:01 renkelvin

Thanks @renkelvin ! Installed and submitting now to App Store. Will circle back pending app approval.

oviroa avatar Jan 10 '20 01:01 oviroa

@bojeil-google @renkelvin @morganchen12 Apple approved the app so we can for now assume it was the centering of the message inside the button.

oviroa avatar Jan 10 '20 17:01 oviroa

@morganchen12 the App was approved in my case as well. Linking manually the LocalAuthentication framework solved the issue.

babkouew avatar Jan 12 '20 13:01 babkouew

I noticed another issue with the Human Interface Guidelines.

Sign in with Apple

The white style is available in iOS, macOS, tvOS, and web. Use this style on dark or colored backgrounds that provide sufficient contrast.

Dark Mode

Test your design in both light and dark appearances. See how your interface looks in both appearances, and adjust your designs as needed to accommodate each one. Designs that work well in one appearance might not work in the other.

When the app supports the Dark mode, and the background of the login screen is black or colored, Apple potentially rejects your app for not using the white style. It will be very helpful if it uses system-provided APIs to create the button or responds to the Dark mode.

yosuke-matsuda avatar Feb 13 '20 06:02 yosuke-matsuda

@renkelvin and the larger Auth team are weighing some possibilities. We'll take that feedback into account.

morganchen12 avatar Feb 13 '20 07:02 morganchen12

I followed Apple's guidelines and approved it after modifying it into the following style.

WechatIMG110

fangyuxi avatar Mar 24 '20 04:03 fangyuxi

How did you modify this, I still have this problem they won't accept my app?

Casey10110 avatar Sep 26 '20 14:09 Casey10110

This should be fixed in the latest version of FirebaseUI. Please let me know if that's not the case.

morganchen12 avatar Jan 26 '21 20:01 morganchen12

I have noticed that with build 10.0.2 that the Sign in with Apple button does not change its coloring when the phone changes light/dark mode. If the app is killed and restarted, then the button will be the appropriate color, but not if the color mode is changed while the app is running. This may cause some issues with Apple acceptance of the app.

frios avatar Feb 04 '21 17:02 frios

Thanks @frios, for the time being you can work around this by reinstantiating your app's auth flow when the system light/dark mode changes.

morganchen12 avatar Feb 04 '21 18:02 morganchen12

Hey all, is this still an issue with FirebaseUI 11?

morganchen12 avatar Jul 21 '21 21:07 morganchen12

Hi @morganchen12 , I don't know yet. However, I will push a new refactored version of my App using FirebaseUI 11 to the App store in the coming months and will surely let you know if anything.

babkouew avatar Jul 31 '21 13:07 babkouew