现有已上架iOS应用修改数据保护类型相关问题咨询
问题解答
- 对已上架App Store应用的影响:不会对当前已上架的版本产生任何影响。已发布的应用包是基于旧配置签名生成的,App ID配置的变更不会回溯修改已发布的二进制包,也不会改动用户设备上已安装应用的现有数据保护规则,只有后续使用新配置打包提交的新版本才会应用调整后的保护规则。
- 对现有profiles和certificates的影响:证书不受该变更影响,但所有关联当前App ID的
provisioning profile都会立即失效,你需要登录开发者账号重新生成所有对应的描述文件,下载后替换Xcode中的旧配置,否则后续打包会出现entitlements匹配错误。 - 新保护机制的生效范围:仅对修改配置后新创建的文件生效,沙盒中已存在的旧文件会保留原来的
NSFileProtectionComplete保护级别。如果需要让历史文件也应用新的保护规则,你需要自行编写代码遍历应用沙盒内的现有文件,通过setAttributes:ofItemAtPath:error:接口修改文件的NSFileProtectionKey属性为NSFileProtectionCompleteUntilFirstUserAuthentication,系统不会自动完成旧文件的保护级别迁移。
补充注意
修改配置后提交新版本前,务必确认Xcode项目内的.entitlements文件中com.apple.developer.default-data-protection对应的取值和开发者账号App ID中的配置保持一致,避免出现签名校验失败或审核被拒的问题。
内容的提问来源于stack exchange,提问作者Madhu
相关产品推荐
相关产品推荐

