记录自动化编译过程

项目需要每天都自动编译版本,所以处理了自动化编译的脚本,过程中遇到几个问题。

  • internal & gradle编译

    用gradle总是提示gradle版本不一致,之后直接改用internal

  • crontab 没有执行

    因为crontab路径的问题,需要在shell中处理Shell路径获取与变量设置

  • crontab 执行了部分逻辑

    因为crontab环境变量问题,导致部分工具找不到,需要执行source /etc/profile

  • codesign失败

    因为ssh方式连接到编译机器,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串。
    security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain

  • Xcode: Internal launch error: process launch failed: Unspecified

    因为在钥匙链中的证书,选择了”总是信任”,需要改成”系统默认”

  • No signing certificate “ios Development” found : No “ios Development” signing certificate matching

    这种情况,主动在终端中用命令可以执行,但是通过crontab执行相同的脚本,就是报上面的错误。主要原因是证书,证书都是在钥匙链中的登录下,需要复制一份到系统(system)下。或者在crontab中,用bash -l来进入login shell