iOS提交及审核过程遇到的问题
2019-05-23 本文已影响0人
十月末的故事
1. Too many symbol files - These symbols have no corresponding slice in any binary
解决方法:
1. build active architecture only -> release 设置为 NO
2. 项目或 pods 中 valid architectures 不再支持某些架构,删除掉即可。比如 armv7
3. 依次选择 Xcode -> Window -> Organizer 找到提交的 archive,在 Finder 中显示包内容,找到 dSYMs 文件夹,在终端中执行
cd .../dSYMs # 进入 dSYMs 文件夹
dwarfdump --uuid * # 列出 dSYMs 文件夹中所有支持架构的 uuid,对比苹果发过来的邮件,就可以看到是哪里的问题
2. 打包上传到 AppStoreConnect,但构建版本中却不存在,或者刚开始存在,过一会不见了。
解决方法: 查看 info.plist 中是否有缺失的权限设置。比如相机,相册,定位等隐私权限的申请描述。
查看账户邮箱或可以看到具体的问题所在。
3. 内购在审核过程中无法 restore
问题描述:
我的 App 中有会员功能,需要使用内购(非自动续订类型),在会员界面有一个 ‘恢复购买’ 的按钮。
我在本机测试毫无问题,但苹果审核过程中说无法 restore
解决方法:
查看代码中是否通过 appStoreReceiptURL 读取到的 data 为空。
如果为空,需要使用 SKReceiptRefreshRequest 刷新 receipt 之后再尝试 restore.
[苹果官方说明](https://developer.apple.com/library/archive/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPT-AFTER_I_INSTALL_THE_DEVELOPMENT_APP_WITH_XCODE__THE_APPSTORERECEIPTURL_IS_NIL__WHAT_IS_THE_PROPER_WAY_TO_HANDLE_THIS_SITUATION_)
SKReceiptRefreshRequest *req = [[SKReceiptRefreshRequest alloc] init];
req.delegate = self;
[req start];
appStoreReceiptURL