被拒
满心期待项目上线,等到的结果确是被拒,查看被拒原因,竟然因为com.apple.springboard.lockcomplete是苹果禁止的私有API.
如何确定是哪里引用了com.apple.springboard.lockcomplete呢?
1. ?打开终端, ? cd 到自己的项目下;
2.输入:?find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep com.apple.springboard.lockcomplete
看到终端输出,发现是在环信中.a引用,好大的 坑啊!还好公司项目并没有用到环信,直接把环信SDK删除,再次用终端查找,没有以上私有API。
开始打包,重新发布,打包上传后在构建版本中不显示,试了几次都不显示,大致有几种原因,可以按照以下步骤排查下。收到苹果发的 邮件,发现是NSLocationAlwaysUsageDescription权限问题
1.检查使用的权限,并info.plist文件中添加权限说明:
权限列表:
权限列表
2.检查打包APP的版本号和iTunes Connect中的版本号是否一致
3.检查二进制文件是否上传成功。
有时候使用XCode8上传时把窗口最小化会立即提示上传成功,其实并没有。建议使用Application Loader上传。
5.在iTunes Connect的应用上传详情页,点击“活动”,查看已上传的二进制文件状态。如果上传后显示正在处理,刷新后没有任何版本显示,这时候此二进制文件很有可能已经被判定为无效的二进制文件了。请到开发者的邮箱中查看邮件,Apple会发邮件说明详情:5.在iTunes Connect的应用上传详情页,点击“活动”,查看已上传的二进制文件状态。
如果上传后显示正在处理,刷新后没有任何版本显示,这时候此二进制文件很有可能已经被判定为无效的二进制文件了。请到开发者的邮箱中查看邮件,Apple会发邮件说明详情。