Cordova-plugin-background-geolocation: Your app uses the "prefs:root=" non-public URL scheme, which is a private entity

Created on 1 Jul 2018  Â·  24Comments  Â·  Source: mauron85/cordova-plugin-background-geolocation

Your Environment

IOS
cordova-plugin-mauron85-background-geolocation 2.3.5 "CDVBackgroundGeolocation"
cordova 8.0.0

Context

From apple:
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.

in LocationManager.m:

Expected Behavior

Should be accepted to iOS store

Actual Behavior

Reject from iOS store

Possible Fix

Steps to Reproduce

  1. submit to ios with plugin installed
    2.
    3.
    4.

Context

Rejected from iOS store

good first issue

Most helpful comment

Version 2.3.6 is out which is fixing this.

All 24 comments

Any update on this?

I encountered the same issue but I hesitate to use the version 3 of the plugin which is in alpha version. Your opinion ? Thanks !

Got the same rejection on a previous version. Upgraded to version 3 and happy so far. I'd give it a try.

I see a commit has been made by @mauron85 in this regard but has it been introduced into a version 2.3.X yet?

Any solution to the problem ?, thanks

No solution other than updating to the alpha version 3.0 unfortunately which meant some major plugins version dependencies that needed to be resolved.

@rudiminty it's just one line that need to removed to had it working in 2.x branch too. I will accept PR and publish new 2.x version if somebody is willing to do it.

@mauron85 Currently Apple rejects ionic apps with version 2.3.5, and in ionic version 3.0 does not work correctly. I do not know if the solution is to eliminate the following line:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];

And eliminate in Xcode the url Types.
Thanks

@rudiminty Have you installed version 3.0 on ionic? If so, could you explain the steps to follow. Thanks!

I do not know if the solution is to eliminate the following line: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];

yes indeed is. Basically revert this commit https://github.com/mauron85/react-native-background-geolocation/pull/158/files

No, using Phonegap Build

same issue
[email protected]

I encountered the same issue, updating to 3.0.0-alpha41 and using in ionic, there is no equivalent ionic-native/npm package for v3, So I get an error that BackgroundLocation plugin is not found, also alot of things are yet to be implemented in the alpha version.

I'm in dire need of this plugin, anyways, I can't find " prefs:root " anywhere in v2.3.5, is it safe to assume that I can upload to store. Gonna double check it before submitting.

In v2.3.5, under " node_modules\cordova-plugin-mauron85-background-geolocation\ios\CDVBackgroundGeolocation\LocationManager.m "

LINE 313,

- (void) showLocationSettings
{
    //[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
       if (@available(iOS 10, *)) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=Privacy&path=LOCATION"]];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
    }
}

Is this the solution @mauron85 ?
PS- I have no idea of objective C.

@mauron85 Thanks for the quick response. Really appreciate it.

@mauron85 thanks

Following solution works for v2.3.5.

Under
node_modules\cordova-plugin-mauron85-background-geolocation\ios\CDVBackgroundGeolocation\LocationManager.m "

Comment the code inside this function:

Alternatively, you can also upgrade to 3.0.0-alpha41, but you will also have to make changes in your code. :/

Version 2.3.6 is out which is fixing this.

Thanks @mauron85 !

Version 2.3.6 is out which is fixing this.

I see latest release version is 2.3.5. Am I missing something here?

Version 2.3.6 is out which is fixing this.

I see latest release version is 2.3.5. Am I missing something here?

Just type cordova plugin add [email protected]
It's special, hidden version!

Same problem than open native settings plugin, this feature is in this plugin too.

Fixed here:

https://github.com/guyromb/Cordova-open-native-settings/commit/aa53c9112109e622b7125ce58545d7ef7af2a063

This has been fixed long time ago. Upgrade your plugin

On Tue, 4 Dec 2018 at 09:49, Pablo Martín notifications@github.com wrote:

Same problem than open native settings plugin, this feature is in this
plugin too.

Fixed here:

guyromb/Cordova-open-native-settings@aa53c91
https://github.com/guyromb/Cordova-open-native-settings/commit/aa53c9112109e622b7125ce58545d7ef7af2a063

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mauron85/cordova-plugin-background-geolocation/issues/454#issuecomment-444019327,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAV8GouVg9R-8NJLGX5_T7KBRXyFkuisks5u1jcSgaJpZM4U-ZU6
.

Was this page helpful?
0 / 5 - 0 ratings