Reputation: 3681
Just days ago I successfully upload Ionic app to Apple Store, and on this day I am receiving validation warning:
The app references non-public selectors in Payload/something.app/something: _setAlwaysRunsAtForegroundPriority:
While I was unable to resolve, I was able to upload app to App Store.
Does anyone know where it is documented or have any insights on how to resolve?
Thanks.
Upvotes: 24
Views: 12964
Reputation: 581
ITMS-90338: Non-public API usage - The app references non-public selectors in XXXXXX: _setAlwaysRunsAtForegroundPriority:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. If you think this message was sent in error and that you have only used Apple-published APIs in accordance with the guidelines, send the app's Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to [email protected].
cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@latest
Upvotes: 0
Reputation:
This worked
The problem is related to webview.
cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@latest
Upvotes: 2
Reputation: 4900
rejected on Appstore now. July 3th 2019. Message:
We identified one or more issues with a recent delivery for your app, "appname. Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app references non-public selectors in Sonnenbraeu: _setAlwaysRunsAtForegroundPriority:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above ...
I removed the complete line of _setAlwaysRunsAtForegroundPriority:
as described above from code. Also the references to it. And yes, the app got released. BUT I don't know exactly the consequence of removing the property which sets the browser to foreground priority mode. I don't think its a good solution, its just a provisoric workaround to get released.
Upvotes: 1
Reputation: 351
Expanding on @Véger Lóránd answer:
The bug was re-introduced in the 4.1.1 version. Installing the latest version will get your app rejected. The solution for now is:
cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add [email protected]
Upvotes: 20
Reputation: 5522
I got a similar problem:
ITMS-90338: Non-public API usage - The app references non-public selectors in MyAppName: _setAlwaysRunsAtForegroundPriority:.
And the issue was caused by the following plugin: cordova-plugin-ionic-webview
To solve the issue update to the latest version with the following commands:
cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@latest
You can read more about it here: https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/209
Upvotes: 10