iOS app rejected because of the private API usage 'addData:'

Hi,
our iOS app using 3.0.10 is rejected in App Review because of the private method usage of ‘addData:’.
Then we do grep "addData" . -R in our project and found below:
Binary file ./Pods/Backendless-ios-SDK/SDK/lib/CommLibiOS/CommLibiOS.a matches
Binary file ./Pods/Backendless-ios-SDK/SDK/lib/CommLibiOS/libCommLibiOS.a matches
Reviewer says if it is not the private API usage, but just function name matches,
then the signature should be changed to avoid being flagged in review.
Would you please review this and check if it’s a backendless iOS SDK issue?
Thanks in advance.
Regards,
Shunpei

Could you please forward the email you got from the reviewer to support@backendless.com?

Regards,
Mark

We’ve renamed this method, please, download CommLibiOS.a file, change it in your ./Pods/Backendless-ios-SDK/SDK/lib/CommLibiOS/ and try again.

We will upgrade it in CocoaPods asap.

Thanks for reply.

I do not currently have access to the mail, but the message on the Resolution Center is below:

    2. 5 PERFORMANCE: SOFTWARE REQUIREMENTS

Performance - 2.5.1

Your app uses or references the following non-public APIs:

addData:

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

Someone in our team will forward the mail in a few days if they have one.

Regards,
Shunpei

Thanks for the quick fix!

I downloaded the new lib and will check and re-upload to iTC, then post the result here.
Maybe next week, as it is Friday midnight in Japan.

Regards,
Shunpei