Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

App rejected due to non-public api's

Hi,

My App rejected due to non-public api's.


Apple's Comments:


2.5: Apps that use non-public


"We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.

We found the following non-public API/s in your app:

_updateView (I have the method name like "_updateView" in my source, can I change the name of the method. Is it works ? )

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, one or more of the above-mentioned APIs may reside in a static library included with your application. If you do not have access to the library's source, you may be able to search the compiled binary using "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 techniques can help you narrow down where the problematic code resides."


And in my application, I am using the FBConnect, SDWebImage library, and Twitter+oAuth api's. These are non-public api's ? Now, can I integrate Jira (Crash Reporter) to my application? Can anybody solve my issue......



Thanks & Regards,

Rajesh Kumar Yandamuri

iPhone 3GS, iOS 4.2

Posted on Mar 28, 2012 11:41 PM

Reply
24 replies

Mar 29, 2012 6:05 AM in response to sptrakesh

Thanks for your fast reply.


I updated the binary and while trying to upload the binary in application loader, I have got the warning "The app references non-public selectors in appname.app / appname : dialogDidCancel". But app uploaded. I tried to search for this "dialodDidCancel" method, but it is in the FBConnect. Again i am in the same problem ? Is there any choice to reject the app again due to this warning ?


Thanks & Regards,


Rajesh Kumar Yandamuri

Mar 29, 2012 7:14 AM in response to Rajesh Yandamuri

I have not used it recently, but I have uploaded apps to the app store that used FBConnect. Are you using the latest version of FBConnect. If there are any methods that might trigger app rejection, I would think the FBConnect developers have already remediated it. If not, feel free to send the developers a bug report and have them fix it (you can also fix their code and send them a patch).

Oct 23, 2012 2:04 PM in response to Rajesh Yandamuri

I too have a similar problem. The Appstore rejection read as follows:


We found the following non-public API/s in your app:


setViewController:


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.



I have pressed shift control f and put in setViewController and nothing is found....


Does anyone know where I can start?


Cheers

May 8, 2013 9:26 PM in response to Rajesh Yandamuri

I have the same problem what to do with below points from the apple.

Requires help plz help me my app rejected two times with this points.



We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.


We found the following non-public API/s in your app:


_tearDown


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, one or more of the above-mentioned APIs may reside in a static library included with your application. If you do not have access to the library's source, you may be able to search the compiled binary using "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 techniques can help you narrow down where the problematic code resides.


We appreciate that you may have made the precautions in your code for using non-public APIs, however, there is no way to accurately or completely predict how an API may be modified and what effects those modifications may have. For this reason, we do not permit the use of non-public APIs in App Store apps.


If there are no alternatives for providing the functionality your app requires, we encourage you to file an enhancement request. Or, try working with the Apple Developer Technical Support team to explore alternative solutions.


On occasion, there may be apps on the App Store that don't appear to be in compliance with the App Store Review Guidelines. We work hard to ensure that the apps on the App Store are in compliance and we try to identify any apps currently on the App Store that may not be. It takes time to identify these occurrences but another app being out of compliance is not a reason for your app to be.

For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. Please be sure to:


- include the complete details of your rejection issues

- prepare any symbolicated crash logs, screenshots, and steps to reproduce the issues for when the DTS engineer follows up.


For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.


If you have difficulty reproducing this issue, please try testing the workflow as described in <https://developer.apple.com/library/ios/qa/qa1764/>Testing Workflow with Xcode's Archive feature".

App rejected due to non-public api's

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.