仅Apple Watch应用Info.plist中非豁免加密配置问题求助
解决仅Apple Watch应用自动跳过加密合规确认的问题
针对仅Watch应用的场景,常规iOS应用的单一Info.plist配置方式不适用,需要同时配置多个目标的Info.plist,且确保主App目标的配置正确:
第一步:配置WatchKit Extension的Info.plist
在WatchKit Extension的Info.plist中添加键ITSAppUsesNonExemptEncryption(对应显示名称"App Uses Non-Exempt Encryption"),设置值为NO。这是核心配置,但单独设置不足以跳过手动确认。第二步:配置主App(iOS占位目标)的Info.plist
仅Watch应用必须包含一个iOS主App目标(即使它没有任何代码),需要在这个主App的Info.plist中完成两个关键配置:- 添加
ITSAppUsesNonExemptEncryption键,值设为NO; - 添加
WKWatchKitApp键,值设为YES,并确保WKCompanionAppBundleIdentifier的值与主App的bundle ID完全匹配,WKSupportedWatchKitConfigurations中正确关联Watch App的bundle ID和版本信息。
之前上传被拒绝大概率是因为主App缺少WKWatchKitApp这类关联配置,导致App Store Connect无法识别这是一个仅Watch应用的主占位。
- 添加
第三步:验证Xcode上传配置
在Archive后进入上传流程时,确保在"Encryption"环节选择"App does not use encryption",但只要Info.plist配置正确,这个选项会被自动预填,无需手动修改。额外检查项
- 确认所有目标(主App、Watch App、Extension)的bundle ID符合关联规则:Watch App的bundle ID必须是主App bundle ID的后缀(如
com.example.app.watchkitapp),Extension的bundle ID必须是Watch App的后缀; - 确保所有目标的签名配置一致,且使用自动管理签名时没有权限冲突;
- 检查是否在代码中使用了任何加密API(即使是系统框架中的),如果确实没有,上述配置才会生效——如果有非豁免加密的使用,必须手动申报合规。
- 确认所有目标(主App、Watch App、Extension)的bundle ID符合关联规则:Watch App的bundle ID必须是主App bundle ID的后缀(如
内容的提问来源于stack exchange,提问作者KMK
相关产品推荐
相关产品推荐

