您的当前位置:首页正文

Fastlane 问题记录

来源:华拓网

fastlane安装使用使用的教程很多,套路基本固定。此处仅记录耗费了自己几天时间的坑,以便后续方便查阅。有个感悟:有问题一定要看官方文档以及issues,相信自己不是第一个遇到……

一:security: SecKeychainItemImport: The specified keychain could not be found. Could not install WWDR certificate
1、security list-keychains 可以查看所有keychain
使用该命令之后,我这边的输入是:

    "/Library/Developer/XcodeServer/Keychains/Portal.keychain"
    "/Users/XXX/Library/Keychains/login.keychain-db"
    "/Library/Keychains/System.keychain"

你会发现第一个Portal,keychain中没有WWDR证书
所以根据fastlane issue中的方法将login-keychain-db(包含WWDR) 放在第一位,具体方法十分简单

5B6E8C9C-F84F-4E55-B4AD-EEA09EF7BF8F.png

再使用 security list-keychains,login.keychain-db即在第一位了,感觉是fastlane代码没有写的严谨

    "/Users/XXX/Library/Keychains/login.keychain-db"
    "/Library/Developer/XcodeServer/Keychains/Portal.keychain"
    "/Library/Keychains/System.keychain"

记录个命令:
security find-certificate -c 'Apple Worldwide Developer Relations Certification Authority'
可以查找某个证书的详情

三:Could not decrypt the repo, please make sure you enter the right password!
解决方法: 在Fastfile的 before_all方法中,添加 ENV["MATCH_PASSWORD"] = 密码,示例: ENV["MATCH_PASSWORD"] = "123456"

四: ommand timed out after 10 seconds on try 1 of 4
原因: 很大可能是机器不给力了,使xcodebuild -showBuildSettings -workspace ./XX.xcworkspace -scheme XX -configuration Release 命令执行超时
解决方法: 在Fastfile的 before_all方法中,添加 :

    ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120"
    ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"] = "4"

也就是重置超时时间和重试次数,可根据自己需要修改