钥匙串访问权限解锁

错误描述

调用iOS自动化打包脚本时,报错 :

1
SecKey API returned: -25308, (null)/Users/xiao/Library/Developer/Xcode/DerivedData/HaiFu-ayuavvcfwmczwkasaoojsrongeax/Build/Intermediates/ArchiveIntermediates/HaiFu/InstallationBuildProductsLocation/Applications/HaiFu.app: unknown error -1=ffffffffffffffff

原因分析

由于Xcodebuild命令打包时会调用Codesign进行签名,而此错误就是由于无法使用证书授权签名所致,可以在脚本中添加解锁

解决思路

执行命令:

1
$ security list-keychains

获得如下信息:

1
2
"/Users/xiao/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

由于项目中的签名证书是在登陆选项处(可以通过钥匙串查看),选择 login.keychain-db

执行解锁命令,password 就是你 Mac 电脑钥匙串的密码:

1
$ security unlock-keychain -p "password" /Users/xiao/Library/Keychains/login.keychain-db

在脚本中添加了解锁代码,问题完美解决。