Non-public API usage

为君一笑 提交于 2019-12-03 10:29:32

问题


I can't upload an app to iTunes Connect.

Xcode uploader says that I'm using allocBatch:withEntity:count:, allocWithEntity:, IndexForKey:, fastIndexForKnownKey:

I'm not using this methods and dunno where they could be. A week ago same code was uploading successfully. What can be the cause of such behavior?

UPDATE

Submitting with older Xcode is not working anymore, this error reveals on binary processing.


回答1:


I had this exact issue using Yosemite with Xcode 6.1 and using Objective C. I also got a warning on validation saying you can't upload an app created with a beta version of Xcode, which 6.1 is at the time of writing this.

I trashed Xcode 6.1 by dragging it to the trash form Finder then downloaded Xcode 6.0.1 GM from the App Store. I tried twice to install 6.0.1 over the top of 6.1 but it didn't work, hence the trashing of 6.1

Having cleaned and recompiled my app with Xcode 6.0.1 it validated and submitted to the app store with no problem. I hope this helps.




回答2:


I fixed it by changing the deployment target from iOS4.3 to iOS5.0 all fixed using Xcode 6.1




回答3:


I encountered the exact same error when using Xcode 6.1 (and its bundled Application Loader) on Mac OS 10.9.5. Clicking "Back" within the Application Loader and re-submitting the same binary worked. In other words, trying a second time succeeded. My app was built with iOS SDK 8.1.




回答4:


You don't have to delete XCode 6.1. It would become handy in couple days. Just download XCode 6.0.1, copy it somewhere, and use sudo xcode-select --switch /Applications/Xcode601.app/Contents/Developer/. Then start it, and build your great app with it.




回答5:


The API differs between iOS 7 and iOS 8. I got my App validated by switching to Deployment Target "8.0" - built with XCode 6.1. It might not be the solution to all you guys but you could give it a try.

Might have happened to me because I recently started using UIAlertController -> seems to be an iOS-8-Feature. On iOS 7 this would be UIAlertView. So if you use some nifty new features they might not have been available with previous iOS versions - thus non-public API.




回答6:


Increasing the version number of my app did the trick for me.

EDIT: Just saw a comment in my bug report to apple

So most likely the version number had nothing to do :D




回答7:


I got the same problem in Xcode 6.0.1 if I use the archive created by Xcode 6.1. It works if I recreate the archive by Xcode 6.0.1. That means the non-public API is added by Apple in Xcode 6.1.




回答8:


I tried to delete all DerivedData.

/Users/{user_home_folder}/Library/Developer/Xcode/DerivedData

and I validated successfully.

http://qiita.com/PGMY/items/831618ad416780e0dc7c




回答9:


i had meet same issue when i cancelled archiving to app store. Apple send me email about this subject. And than i recreate archiving and send to App Store. Everythink is ok for a now.



来源:https://stackoverflow.com/questions/26369633/non-public-api-usage

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!