如何取消fastlane_tmp_keychain-db的默认钥匙串设置
问题原因
fastlane在执行带代码签名的构建任务时,会自动创建临时钥匙串fastlane_tmp_keychain-db存储临时签名凭证,避免污染系统原有钥匙串。正常任务执行完成后,fastlane会自动销毁该临时钥匙串,并恢复原有默认钥匙串配置。如果构建过程意外中断(比如进程被强制杀死、脚本运行异常崩溃、手动提前终止任务),就会跳过最后的清理逻辑,导致该临时钥匙串被遗留,同时还会保留默认钥匙串的配置状态。
修复方法
图形界面操作
- 打开「钥匙串访问」应用,按下
Cmd + 1快捷键调出左侧的钥匙串列表 - 在列表的「默认钥匙串」分组下,可以看到
fastlane_tmp_keychain-db处于选中状态 - 右键点击你原本的默认钥匙串(默认命名为
login),选择「设为默认钥匙串」即可完成恢复 - 可选操作:右键点击
fastlane_tmp_keychain-db,选择「删除钥匙串」,再选择「删除引用和文件」即可彻底清理遗留的临时文件
命令行操作
- 打开终端,执行以下命令将login钥匙串恢复为默认:
security default-keychain -s login.keychain-db - 执行以下命令验证修改结果,输出内容第一行应为
login.keychain-db:security default-keychain - 可选操作:执行以下命令彻底删除遗留的临时钥匙串:
security delete-keychain fastlane_tmp_keychain-db
避免后续复现的方案
- 执行fastlane任务时尽量不要手动强制终止进程,等待脚本执行完成自动退出
- 可以在自己的fastlane配置中增加全局清理钩子,不管任务成功或失败,都强制执行默认钥匙串还原、临时钥匙串删除的逻辑
内容的提问来源于stack exchange,提问作者Roman Starkov
相关产品推荐
相关产品推荐

