Jenkins:自动生成iOS包遇到的问题

环境部署情况

Jenkins服务是直接使用Docker镜像起的;执行机是Mac电脑,执行机的环境已是配置好的且可正常打包,使用Jenkins调用执行机进行打包却遇到如下问题

问题一:编码问题
  • 编码问题,报错提示如下:
    /Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.17.1/lib/xcodeproj/plist.rb:91:in `match‘: [31m[!] invalid byte sequence in US-ASCII
    Jenkins:自动生成iOS包遇到的问题
  • 解决办法:在Jenkins构建脚本中加入以下两行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
问题二:钥匙串问题
  • 出现这个问题的主要原因是是Jenkins,以ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,报错信息如下:
CodeSign /Users/username/Library/Developer/Xcode/DerivedData/App_name-elibdznqaexwbxaapyjfroeszngn/Build/Intermediates.noindex/ArchiveIntermediates/App_name/InstallationBuildProductsLocation/Applications/App_name.app

Jenkins:自动生成iOS包遇到的问题

  • 解决办法:添加一步输入密码解锁钥匙串,可以给Jenkins一个用户身份
security unlock-keychain -p "login_pwd" ~/Library/Keychains/login.keychain

Jenkins:自动生成iOS包遇到的问题

上一篇:Sagit.Framework For IOS 自动布局教程:14、UIScrollView 特殊用法


下一篇:安卓app如何从剪贴板获取图片