How to fix the _ADBannerContentSizeIdentifierLandscape, non-public symbols - ios

I got apple mail following content:
We identified one or more issues with a recent delivery for your app, "App name". Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app references non-public symbols in "App name": _ADBannerContentSizeIdentifierLandscape, _ADBannerContentSizeIdentifierPortrait. 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. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
Get above error message app store when upload the app too app store, i removed the iAd.framework reference related all pods and library but still i got same error email.
Any have solution for this error, please share your thoughts..,
Thanks.

I think the best idea might be to send a TSI because that is sounding like an apple problem.

The final solution is to remove the Mobile App Tracker framework in the project.

Related

Non public api usage iOS App - Invalid Binary

Whenever i try to upload a binary, Apple is giving me this error. Last month, I uploaded a version and it got successfully uploaded, i have not made many changes in the code in this version - just minor bug fixes, but now, it's giving me this error. Please help.
Email by Apple :
Dear developer,
We have discovered one or more issues with your recent delivery for "Schoofi". To process your delivery, the following issues must be corrected:
Non-public API usage:
The app contains or inherits from non-public classes in Schoofi: XCTestCase
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 nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to appreview#apple.com. For further information, visit the Technical Support Information page.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team
You shouldn't include XCTestCase in your apps binary. Tests don't need to be apart of the submitted binary. Make sure the test classes are only included in your test bundle and not your apps bundle, by checking the appropriate check boxes in the file inspector on the right pane in Xcode.

iTunesConnect app has one or more issues - Non-public API usage

I received the below email shortly after I submit my app to the AppStore from XCode Organizer. My app contains the framework in this GitHub (https://github.com/wujianguo/iOSAppsInfo), I use it to create shortcuts to the rest of the users installed applications, and ONLY for that purpose.
Is there a different way of getting a list of all installed apps so I can create shortcuts or will all methods be instantly rejected as below?
Dear developer,
We have discovered one or more issues with your recent delivery "shortcut-app". To process your delivery, the following issues must be corrected:
Non-public API usage:
The app references non-public selectors in Xxxx xxxx: _applicationIconImageForBundleIdentifier:format:scale:, allInstalledApplications, appTags, applicationProxyForIdentifier:, localizedShortName, openApplicationWithBundleID:
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 nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to appreview#apple.com. For further information, visit the Technical Support Information page.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team
This library uses private API which you cannot use especially when you submit the app to apple, as they will reject it like this.
I am not aware of another way to get installed apps, but in order for apple to accept uploading the app, you must stop using this library, specially this method.

Card.io cause Non-public API usage

I got some trouble when I try to upload my app to AppStore.
Apple reject the app with these error message:
Non-public API usage:
The app references non-public selectors in MyAppiOS: cardNumber, cardType, libraryVersion, navigationBarStyle, navigationBarTintColor, preload, setCardNumber:, setNavigationBarTintColor:
Deep searching told me that the Card.IO is causing the problem, indeed it has all the above selectors.
The same code was uploading successfully. What can be the cause of such behavior?
The same code was uploading successfully. What can be the cause of such behavior?
Apple is continuously updating the checks they do on submitted applications. This means that re-submitting a new version, even with a trivial change, can sometimes end up rejected because of the new checks.
Your best bet is to ensure you're using the latest version of the library. An update might already be available for you - unless you're in the first people affected. In the later case you should file an issue with the developer or, since it's open source, re-compile a version of the library that excludes those symbols.

non-public selectors in Payload

My app is rejected due to the reason " use of non-public APIs is not permitted in the App Store because it can lead to a poor user experience should these APIs change"
My first version have been approved by app store without any reason and updating next version would lead this result.
I validated the app and found the following :
iTunes Store operation succeeded with a warning.
The app references non-public selectors in Payload/alootamatar.app/alootamatar:setReuseIdentifier:
Can anyone pls help me how to resolve this issue.
My solution is
a local variable reuseIdentifier is initialized with the Apple defined variable cell.reuseIdentifier.
How about trying delete the DerivedData folder

The app references non-public selectors in Payload: appID, expirationDate, isOpen

I have integrated Everyplay in my game based on SpriteKit. After submitting an update I got a warning "The app references non-public selectors in Payload/game.app/game: appID, expirationDate, isOpen".
I have searched for few hours to solve the problem but haven't found something useful.
Could you help me to fix this problem?
Will my game get approved?
Edit: This is coming from Everyplay's code. I ran strings command (to test).
My game was approved.
Yes, these are from Everyplay. They way we access the Facebook SDK within the game references non-public selectors, but since these are not private Apple API's, there are no issues with doing so aside from the warning you get.
So your app is approved normally and you can ignore the warnings.

Resources