ios app store rejection - Your app uses the “prefs:root=” non-public URL scheme

前端 未结 7 847
礼貌的吻别
礼貌的吻别 2021-01-03 23:07

I recently uploaded a new version of my app to itunes connect. My app got rejected with this note

Your app uses the \"prefs:root=\" non-public URL s

相关标签:
7条回答
  • 2021-01-03 23:45

    We also faced the same issue and resolved it by this:

    if let url = URL(string:UIApplication.openSettingsURLString)
    
        {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        }
    
    0 讨论(0)
  • 2021-01-03 23:47

    I had the same problem and I resolved it as following:-

    Step 1:- Search for the Prefs:root in your app then you will find something as follows:-

     if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION") {
     // If general location settings are disabled then open general location settings
        UIApplication.shared.openURL(url)
     }
    

    Step 2:- Change the above code section with the following one:-

     if let url = URL(string:UIApplicationOpenSettingsURLString) 
     {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
     }
    

    Now rebuild your app and resubmit to the App Store with no worries :)

    0 讨论(0)
  • 2021-01-03 23:53

    I faced the same rejection form Apple and to open app settings i was using the below code and it's not accepted on iOS11.

    let url = URL(string : "prefs:root=")
    if UIApplication.shared.canOpenURL(url!) {
        UIApplication.shared.openURL(url!)
     }
    

    So, to open Settings, I used the below code and App was approved.

    guard let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) else {
        return
      }
      if UIApplication.shared.canOpenURL(settingsUrl)  {
        if #available(iOS 10.0, *) {
          UIApplication.shared.open(settingsUrl, completionHandler: { (success) in
          })
        }
        else  {
          UIApplication.shared.openURL(settingsUrl)
        }
      }
    
    0 讨论(0)
  • 2021-01-04 00:00

    At the end the one with the issues was AmazonFling that was not listed on the pods because was installed using another method. See the forums post about it: https://forums.developer.amazon.com/questions/167282/apple-app-rejected-because-of-non-public-apis-refe.html

    AmazonFling does not have update yet (as of Apr 27, 2018) so I removed it until they update it.


    Fixed in AmazonFling 1.3.2, released on the same day. See https://developer.amazon.com/fr/docs/fling/release-notes.html

    0 讨论(0)
  • 2021-01-04 00:03

    I faced the same issue. "prefs:root=" url scheme is not accepted by iOS 11. Using the UIApplicationOpenSettingsURLString value fixed it.

    Reference Image

    0 讨论(0)
  • 2021-01-04 00:05

    if you need to find with the 'prefs:root is:

    Go to your project's target -> then Info -> then URL Types, there you should find URL Schemes with value like 'prefs' or 'prefs:root'

    0 讨论(0)
提交回复
热议问题