作者:维伦忆任冠臻 | 来源:互联网 | 2022-12-02 18:37
当我运行我的应用程序的Xcode构建然后启动应用程序商店构建时,我注意到有些奇怪.如果我运行xcode构建(使用开发证书),然后通过应用商店运行我的应用程序(使用生产证书)我会收到以下对话框的提示
MyApp希望使用存储在钥匙串中的"com.myApp"中的机密信息.
当我首先运行app store build,然后是Xcode开发构建时,我也会得到这个对话框.我相信这个对话框出现是因为两个版本都有不同的证书(可能是错误的).
我最关心的是用户更新应用程序,用户会看到此对话框吗?
不确定这是否重要,但这是我将数据保存到钥匙串的方式.
[[A0SimpleKeychain keychain] setString:string forKey:@"key"];
TheNextman..
5
Apple的代码签名指南有答案.
我相信会出现此对话框,因为两个版本都有不同的证书
正确.请参阅了解代码签名:
最重要的内部要求是指定要求或DR.此规则告诉评估系统如何识别特定的代码段.具有(并成功验证)相同DR的任何两段代码被认为是相同的代码.
...
macOS的某些部分不关心签名者的身份.他们只关心应用程序是否有效签名和稳定.稳定性通过DR确定,并且不依赖于所使用的证书颁发机构的性质.钥匙串系统和家长控制就是这种用法的例子.
从代码签名任务:
运送和更新您的产品
用户的系统将新产品版本视为与先前版本相同的程序.例如,只要两者都已签名且唯一标识符保持不变,Keychain Services就不会区分程序的较旧版本和较新版本.
使用其他证书对代码进行签名会使系统将其视为不同的应用程序.只要您在版本之间使用相同的证书签署您的版本,您就可以了.
1> TheNextman..:
Apple的代码签名指南有答案.
我相信会出现此对话框,因为两个版本都有不同的证书
正确.请参阅了解代码签名:
最重要的内部要求是指定要求或DR.此规则告诉评估系统如何识别特定的代码段.具有(并成功验证)相同DR的任何两段代码被认为是相同的代码.
...
macOS的某些部分不关心签名者的身份.他们只关心应用程序是否有效签名和稳定.稳定性通过DR确定,并且不依赖于所使用的证书颁发机构的性质.钥匙串系统和家长控制就是这种用法的例子.
从代码签名任务:
运送和更新您的产品
用户的系统将新产品版本视为与先前版本相同的程序.例如,只要两者都已签名且唯一标识符保持不变,Keychain Services就不会区分程序的较旧版本和较新版本.
使用其他证书对代码进行签名会使系统将其视为不同的应用程序.只要您在版本之间使用相同的证书签署您的版本,您就可以了.