cordova -v): Latestcordova platform ls): N/A
Apple Rejection Notice:
Your 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.
Upon scanning all plugins and source of our App, the only area using prefs:root=.... is this one.
The plugin should use only public API's so rejections do not occur.
The plugin uses non-public API's so rejections do occur.
I havn't reviewed a potential fix as of yet, however simply stripping the functionality out that makes use of this would be the first step.
I was trying to submit an App (infact, many Apps that use this plugin), all of the Apps had the same rejection today.
I guess this is related to this PR: https://github.com/mauron85/react-native-background-geolocation/pull/158/files
I will remove it.
That makes sense, as either way, Apple are still against it. Another line from the rejection below...
"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."
Can I ask when the next version with the fix in place will be available?
fixed in 3.0.0-alpha.23. thank you for reporting
I have the same problem and my app was rejected from the Apple Store yesterday due this problem. I am using cordova-plugin-mauron85-background-geolocation 2.3.3 "CDVBackgroundGeolocation".
Have you checked that the problem is solved and now the apps are not been rejected anymore because of this?
Thank you.
@manuelsanchezaponte
This particular private URL-scheme was removed in 3.0.0-alpha.23, so I assume the Apple cannot use the exactly same reason to reject your app anymore.
However your rejection reason has to be different. Version 2.3.3 is not using this private scheme, but instead prefs:root=LOCATION_SERVICES, which was never private as far I know (it just stopped working in iOS 10 or 11).
Thank you for your replie,
When Apple rejected my app and told me the reason: "Your 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.
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."
I didn't know what they were talking about. I googled it and I found this thread. I am using this plugin in my app, so, I asume that probable, this is the reason why they rejected the app.
I will try to use the version 3.0.0-alpha.23.
Thank you.
Manuel.
Hello again,
I checked my app and you were right, in the code I found "prefs:root=LOCATION_SERVICES".
But now I have updated my plugin to the 3.0.0-alpha.21 (not 23), and now there is no "prefs:root=LOCATION_SERVICES" on the code, so, I have just resubmitted the app to the Apple Store. Let's hope for the best this time!
Thak you,
Manuel
Really use alpha.23. 21 is using private scheme.
I have exactly this problem with version 2.3.5.
Its the first time my app has rejected with this plugin.
Apple said :
"Your 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.
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."
What do I need to do? Update plugin to 3.0.0 ?
I am stuck with v2.3.5 as I am using Ionic platform, and they are not ready for v3+ yet.....
We really need you to comment the prefs:root line in version 2.3.5 for any Ionic apps to use background-geo.. please do this for us!
Here is the PR for 2.x.: https://github.com/mauron85/cordova-plugin-background-geolocation/pull/483
PR was merged and version 2.3.6 has been released.
Hi, mauron i dont see the 2.3.6 release.
@MgBeatzDev I also don't see it on GitHub releases but that's the version which gets installed if you execute ionic cordova plugin add cordova-plugin-mauron85-background-geolocation.
Most helpful comment
PR was merged and version 2.3.6 has been released.