ios - Jenkins:/Users/*name*/Library/Keychains 文件夹中的 login.keychain 文件在哪里?

标签 ios macos jenkins continuous-integration macos-sierra

我正在尝试使用 Jenkins 打包一个 iOS ipa。所以我得到了 Keychains and Provisioning Profiles Management 插件并尝试上传它需要的钥匙串(keychain)。 我的Mac操作系统是sierra(10.12.2),我进入/Users/admin/Library/Keychains文件夹。但是只有一个名为 login.keychain-db 的文件,当我在 Jenkins 上上传这个文件时它不起作用。该错误表明上传的文件“login.keychain-db”不是钥匙串(keychain)或配置文件。 那么我该如何解决它或者在哪里可以找到 login.keychain 文件? 提前致谢。

最佳答案

您可以简单地通过 shell 解锁您的钥匙串(keychain)。 在您的 Jenkins 项目配置中,添加“执行脚本 shell”步骤:

security unlock-keychain -p PASSWORD ${HOME}/Library/Keychains/login.keychain

security set-keychain-settings -t 3600 -l ${HOME}/Library/Keychains/login.keychain

注意。 'set-keychain-settings' 使钥匙串(keychain)解锁一段时间(3600 秒),因此您的构建过程(在您的情况下为 xcodebuild)在签署 IPA 时仍然可以访问钥匙串(keychain)。

注意 2. keychain 扩展名随 Sierra 发生了变化,现在确实是 .keychain-db。直接使用security命令不会影响你。

关于ios - Jenkins:/Users/*name*/Library/Keychains 文件夹中的 login.keychain 文件在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41680511/

相关文章:

ios - 如何将pod添加到本地pod项目

ios - 您可以在Mac上(例如在模拟器中)运行没有源代码的iOS应用可执行文件吗?

ios - NSSet:我应该在 NSSet 中使用 float/double 吗?

mysql - Mac 修改mysql密码失败

python - Mac OS X 的系统级快捷方式

tomcat - 安装期间 ToolTwist Controller 中的 OutOfMemoryError

docker - 从Docker容器运行docker-compose

javascript - 从其他组件使用 setState 调用函数

iPhone viewWillAppear 不触发

git - Jenkins:尝试使用 SSH pull 存储库时 Git 插件超时