rushisangani / BiometricAuthentication

Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
MIT License
831 stars 110 forks source link

App rejected! #28

Closed ergunkocak closed 5 years ago

ergunkocak commented 5 years ago

Thanks for great library but Apple rejected our app because of this :( Here is the message from Apple :

our app uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Specifically, your app uses the following non-public URL scheme:

app-prefs:root=touchid_passcode

Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.

Next Steps

To resolve this issue, please revise your app to provide the associated functionality using public APIs or remove the functionality using the "prefs:root" or "App-Prefs:root" URL scheme.

If there are no alternatives for providing the functionality your app requires, you can file an enhancement request.

robcecil commented 5 years ago

Yep happened to me. This line needs to be revised:

https://github.com/rushisangani/BiometricAuthentication/blob/master/BiometricAuthenticationExample/BiometricAuthenticationExample/ViewController.swift#L119

robcecil commented 5 years ago

@ergunkocak try something like this:

    guard let url = URL(string: UIApplication.openSettingsURLString) else { return }
    if UIApplication.shared.canOpenURL(url) {
      UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
rushisangani commented 5 years ago

@ergunkocak thanks for the feedback :) I've updated the line mentioned by @robcecil in the example code.