从macOS Sierra开始,我无法在没有usr/bin/codesign UI的情况下使用/ usr/bin/security将codeign-identity导入到钥匙串中,以便在使用此标识时提示访问.这打破了构建服务器的打包脚本.似乎没有解决方法.这会影响自定义创建的钥匙串,但也会影响login.keychain.
重现步骤:在终端中执行以下命令(要求签名标识可用于导入):
security create-keychain -p test buildagent.keychain
security unlock-keychain -p test buildagent.keychain
security list-keychains -d user -s buildagent.keychain
security default-keychain -s buildagent.keychain
security import identity.p12 -k buildagent.keychain -P password -T /usr/bin/codesign
codesign -vfs '$IDENTITY' '${PRODUCT}' --keychain 'buildagent.keychain'
Run Code Online (Sandbox Code Playgroud)
结果:macOS显示UI提示,要求获得访问先前导入的私钥的权限.
我尝试了很多解决方法,但似乎没有任何工作:
导入身份肯定有效,我可以在Keychain Access应用程序中显示钥匙串的内容时看到证书和密钥.私钥的访问控制设置也已正确配置(使用所需的代码签名例外规则).
如何避免来自Sierra的UI提示?
我对这个话题有点迷茫,无法解释自己这种奇怪的行为。在 Mac 上,我删除了~/Library/MobileDevice/Provisioning\ Profiles. 我也删除了钥匙串中的所有证书。出于某种原因,我的旧配置文件仍然显示在 Visual Studio (Windows) 中:
有人可以解释这种行为或告诉我如何摆脱此配置文件吗?
keychain visual-studio xamarin.ios provisioning-profile xamarin