Non-public API usage ItunesConnect warning - ios

After updating PSPDFKit library in my application. But the interface of the library didn't change much from the previous version. Then I had uploaded it for internal testing(I use Xcode 7.0.1.) and received next warning:
I can see the build on iTunes page but it already almost 24 hours in Processing state.
The questions are:
1)If anyone received the same recently?
2)If there connection between the warning and Processing state taking so long?
3)Is this warning really can lead to rejecting the application?
And I saw similar questions on Stack-overflow but they seem to be outdated.

if an app use non public api then app will be rejected from apple.
This written on apple page
https://developer.apple.com/app-store/review/guidelines/
Apps that use non-public APIs will be rejected

I'm one of the PSPDFKit SDK authors.
None of the mentioned method names are private API and we haven't seen such a report so far. Please contact us at support.pspdfkit.com directly so we can work out what's going on here. Since we recently released PSPDFKit v5, many companies updated their apps so we can say with guarantee that our product does not get flagged on iTunes for such issues.
I also recommend updating Xcode, as we only list Xcode 7.1 and higher as compatible: https://pspdfkit.com/changelog/ios.

Related

How can i solve this problem with iOS game upload?

I´m getting an error all the time when uploading an update for my latest iOS game, yesterday I uploaded the 1st version and everything went good, but today I´m trying to update it and I´m getting all the time this:
ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. 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/
I tried multiple things and nothing worked... I saw lots of blogs and videos and nothing... Can anyone help me?
facing very similar issue. Apple email is not specific but the same vague statement like above. our app uses unity3d as well.
It's working again!
I uploaded an update for review through the Transporter app. More info here: How to upload IPA now that Application Loader is no longer included in Xcode 11
Good luck =)

Xamarin ITMS-90809 error Depcreciated Api Usage

First off, there are many of these topics here, and I have read a lot but could not find a solution, as it was only a warning, but now its a rejection.
I submitted my app and got this email:
Dear Developer,
We identified one or more issues with a recent
delivery for your app, "Gallery-Share" 1.0 (1.0).
Your delivery was successful, but you may wish to correct
the following issues in your next delivery:
ITMS-90809: Deprecated API Usage -
Apple will stop accepting submissions of new apps that use
UIWebView APIs starting from April 2020. See
https://developer.apple.com/documentation/uikit/uiwebview for more information.
After you’ve corrected the issues, you can upload a new binary to App Store Connect.
Best regards,
The App Store Team
I'm not aware that I used any Webviews.. I made my app with xamarin so for me this message is a bit cryptic.. What is the cause and solution for this message? How can I figure out where I used Webview, and how can I replace it with something apple likes?

App rejection issue 2.5.1: Apps that use non-public APIs will be rejected (Since iOS10)

we just got my rejection from Apple about some non-public API "contectId". The only thing I have done since I upgraded to the latest Xcode and Titanium SDK (Also with the newest macOS), this became a problem.
I know that there's steps here in the message, but is this an Titanium bug or something?
--
Hello,
Thank you for your resubmission.
Performance - 2.5.1
Your app still uses or references the following non-public APIs:
contextId
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.
Next Steps
Please revise your app to remove any non-public APIs. If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.
Additionally, if you are using third party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.
Resources
For information on the "nm" tool, please see the "nm tool" Xcode manual page.
If there are no alternatives for providing the functionality your app requires, you may wish to file an enhancement request.
If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.
If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:
- complete details of your rejection issue(s)
- screenshots
- steps to reproduce the issue(s)
- symbolicated crash logs - if your issue results in a crash log
Best regards,
App Store Review
Although it was not really a Titanium-issue than more an issue with Apple detecting false positives, this issue has just been fixed in Titanium 5.5.1.GA and later, thanks!
I've also had two App updates rejected due to this reason.
Over the same period I've had others approved.
One common item between the two App updates that were rejected is the use of the following property set in my project:
<property name="run-on-main-thread" type="bool">true</property>

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.

The app references non-public selectors in :setRefreshInterval

When trying to upload an iOS app for the appstore I am getting an error stating that
The app references non-public selectors in :setRefreshInterval
I am using a lot of libraries in my project from different Ad Network SDKs to three20, upon investigation I found out that the static library FlurryAds.a contains these methods and may cause an app rejection.
I have the latest Flurry SDK installed in fact I just downloaded it last night.
I asked one of my friends who recently integrated flurry ads that he got the same error but his app went through.
And now my question is did anyone else got this error while uploading the app to the appstore & if they did, were their app rejected?
For now I will be disabling FlurryAds but I will forward to your suggestions / pointers.
This warning is shown as a result of Flurry calling setRefreshInterval in two different mediated networks. Flurry is not calling any Apple private APIs. Many publishers have submitted with this, and since a private API is not called, there are no problems in submitting to the AppStore. (Full disclosure: I work in the Support team at Flurry)

Resources