前言
最近有一个合作的APP需要进行一个版本更新,于是正常打包,提交Appstore审核。But,一连收到4份苹果的邮件,前三封都是正常状态,准备提交,等待审核。 在等待之后邮件之后,突然收到一个新的邮件?!?!
差点尿不湿都尿湿了,怎么个事儿?刚提交都封号了?!
定睛一看Invalid Binary
?
What? 无效的二进制 ???
截图如下:
App Store Connect
The status of your app has changed to Invalid Binary.
解决方案
缘由
前思后想,突然想起来之前提到过苹果从5月1号开始,就开启了新一轮的安全声明。应该是没有配置正确的Privacy
文件所导致的原因。
# 叮!App Store审核的应用程序又出新规了Missing API declaration
如何自测
1.点击 Xcode 菜单中的 Window。选中Organizer
!
2.选择刚刚上传到Appstore的构建版本,选择 Geneate Privacy Report
!
如果可以正常生成一个xxx.pdf文件,就证明权限声明并没问题。反之,请自行检测所添加的PrivacyInfo
是否配置存在问题或者并未真正添加到项目当中!
特别说明
1.名字不要修改,就用创建时候默认的名字。
2.一定要勾选Targets,如图所示。
配置参考
这是参考大厂腾讯云IM,要求配置的PrivacyInfo
中的内容,具体的场景请根据自己项目中配置进行自行删改。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>
关于第三方SDK
之前有看到很同行的帖子有提及到关于SDK需要增加权限说明或者签名什么的验证,亲测没有影响。没有给SDK生成专属的签名,依旧可以顺利提交到Appstore。
最后,祝大家大吉大利,今晚过审!
。