背景
5.1 号开始 App 审核开始强制支持 iPhone5,并禁止使用 UDID。
问题
上传 app 后一直处于 Invalid Binary 状态,并且收到一封邮件说 Non-public API usage
解决思路
查了下苹果开发者论坛,主要从这几个方面入手:
- 第三方的 libraries/frameworks
- 私有 API
- IAP
开始我搜索了一下项目中的 UDID,搜出来的是 iRate,后来去除之后提交还是老样子,排除。
AdMob 已升级到最新版,排除
以上三个加起来只有一个最符合:MKStoreKit,查了下该项目在 Github 上的 issues 找到答案 https://github.com/MugunthKumar/MKStoreKit/issues/142
原因就是 VerificationController
使用了
[UIDevice currentDevice].uniqueIdentifier
将 VerificationController
删除即可
原地址:http://blog.sina.com.cn/s/blog_54ca030a0100z1d3.html
不少人遇到这个问题, 产生的原因也很多,重要的是看APPLE给你回复邮件,然后再找相应的解决办法.
1. 文件系统问题,一定要在MAC分区下编译上传
2. 多余的代码,这个是最烦人的,一定要看回复,然后删除多余的东西,很多是框架相关的
3. 缺少entitlements.plist,需要填写application-identifier
4. provisioning的问题,有的人遇到证书的问题,总之重新做一遍
5. "Icon Files"的问题, 参考http://stackoverflow.com/questions/3658929/itunesconnect-iphone-app-status-invalid-binary
6. deployment target 选择错误,最好重做RELEASE的DISTRIBUTION
http://www.cocoachina.com/ask/questions/show/112609
We have discovered one or more issues with your recent delivery for "渝客行". To process your delivery, the following issues must be corrected:
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.
Once these issues have been corrected, go to the Version Details page and click "Ready to Upload Binary." Continue through the submission process until the app status is "Waiting for Upload." You can then deliver the corrected binary.
Regards,
当我把index.html文件删除时,提交成功,index.html文件追加进去后,就出现Invalid Binary错误,index.html文件里面就是一些html代码
请问这是怎么回事,是不是资源文件需要什么设置?
APP 上传之后出现"invalid binary" 问题解决汇总