Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS App Reject due to prefs:root non-public URL #262

Closed
danfleck opened this issue Dec 20, 2017 · 14 comments
Closed

iOS App Reject due to prefs:root non-public URL #262

danfleck opened this issue Dec 20, 2017 · 14 comments
Labels
bug Something isn't working properly TODO Something needs doing

Comments

@danfleck
Copy link

My app got rejected from Apple due to this plugin using prefs:root.

"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."

Any simple way to change how it works internally to use supported Apple functions?

@dpa99c
Copy link
Owner

dpa99c commented Dec 20, 2017

This code was introduced by PR #223. By the looks of my comment in September, it doesn't work anyway so I was planning to remove it (but apparently forgot to).

However, given that it's resulted in your app being rejected, I will prioritise its removal.

@dpa99c dpa99c added bug Something isn't working properly TODO Something needs doing labels Dec 20, 2017
@danfleck
Copy link
Author

To add to it... the rejection said:

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.

So both prefs:root and App-Prefs:root aren't allowed.

@dpa99c
Copy link
Owner

dpa99c commented Dec 20, 2017

I'm going to revert that entire PR which added both "prefs:root" and "App-Prefs:root", after which it should be safe for App Store Reviews again.

@dpa99c dpa99c closed this as completed in 7f5bae2 Dec 21, 2017
@dpa99c
Copy link
Owner

dpa99c commented Dec 21, 2017

This offending code has been removed in cordova.plugins.diagnostic@3.7.3 so that version should be safe for re-submission to the App Store.

@jassiwaliaVC
Copy link

its still coming issue in @3.9.2

@dpa99c
Copy link
Owner

dpa99c commented Jul 4, 2018

@jassiwaliaVC Please update to the latest version: 4.0.8

@AgNm
Copy link

AgNm commented Jul 10, 2018

@dpa99c My plugin is already updated with version 4.0.8 still my got rejected yesterday, any solution?

@dpa99c
Copy link
Owner

dpa99c commented Jul 10, 2018

@AgNm Are you sure the cause of the rejection was the same as outlined in this issue?

"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."

If the rejection cause is the same, search your local code for occurrences of prefs:root to find where it is located.

The code causing this issue was removed by this commit so is no longer present in the plugin. You can confirm this by searching the plugin source for the offending prefs:root and see that it is no longer present.

@AgNm
Copy link

AgNm commented Jul 10, 2018

@dpa99c I have checked the code, it is not written in any file.

@dpa99c
Copy link
Owner

dpa99c commented Jul 10, 2018

@AgNm Did Apple give exactly the same reason for rejection as above?

"Your app uses the "prefs:root=" non-public URL scheme..."

@AgNm
Copy link

AgNm commented Jul 10, 2018

Yes, I have removed & added latest plugin again in the app & uploaded it again. Lets see. Hoping for best.

@AgNm
Copy link

AgNm commented Jul 11, 2018

@dpa99c Can you please confirm that after using the latest version 4.0.8 of the plugin, the app will not get rejected, because apple warns me that they will close my account:

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 my App, I have used https://github.com/dpa99c/cordova-plugin-request-location-accuracy plugin so that it will ask for location permission, but it was redirecting to settings page instead of displaying permission request on same page.

I read somewhere to display the permission popup on same page in the app, I have to use this plugin. Is there any alternate to ask for permission ?

@brodycj
Copy link

brodycj commented Jul 11, 2018

@AgNm it is your own job to check that you have resolved the issues with your app. You should be able to get a more clear explanation from Apple. Then you would have to double-check your own app code and every single plugin for whatever may be violating their terms.

Questions and issues with the other plugin should be raised there. I suspect it wasn't meant for app stores, better ask for confirmation there. TBH I think you would be much better off using a more standard location plugin. Customize it if necessary, be very careful not to violate the app store terms.

If you do find a problem with any of the other plugins I am sure a report would be really appreciated there.

@AgNm
Copy link

AgNm commented Jul 11, 2018

@brodybits thank you for your response...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working properly TODO Something needs doing
Projects
None yet
Development

No branches or pull requests

5 participants