zoukankan      html  css  js  c++  java
  • jenkins ios 命令行使用xcodebuild构建报错build failed:rrSecInternalComponent或者ARCHIVE FAILED:codesign Build/Intermediates.noindex/ArchiveIntermediates 失败

    场景:

        jenkins上设置了自动构建ios app,ios sdk ,mac app, mac sdk 等,2020.3.30号晚上8点之前都是没问题的,完全可以自动构建,但是九点构建就一直报错了,因为怀疑是提交代码导致的,但是使用已经发版的节点构建,也是失败的,ios上的所有jenkins构建都失败了。

        但是,奇怪的是,使用工具xcode就可以正常打包,在ios 终端手动输入jenkins调用的那条打包的命令行,也是可以打包成功的。

    报错如下:

    sdk的xcodebuild 打包命令:xcodebuild  -scheme ${ios_scheme}  -configuration Release  -sdk $sdk_version  clean build

    报错如下:

    ipa(app)的xcodebuild archeieve 打包命令行:

    xcodebuild clean -workspace ${workspace_name}.xcworkspace -scheme ${app_name} -configuration $ios_type
    xcodebuild archive -workspace ${workspace_name}.xcworkspace -scheme ${app_name} -archivePath $archive_path -configuration $ios_type
    echo export ipa .... #导出ipa
    xcodebuild -exportArchive -archivePath $archive_path -exportPath arch/target_ipa -exportOptionsPlist ${app_name}/${app_name}/Info.plist

    报错如下:

     原因:

    原因1:可能是xcode签名机制(code signing mechanism) 的 bug, Xcode 中账号多了,就会产生很多过期的PP文件,Xcode 没有自带删除功能会导致重复导入provisioning profile

    原因2:钥匙串没有授权,被锁住了。 访问签名失败

    解决办法:

         方法1:编译之前解锁钥匙串    

         在编译之前解锁钥匙串,命令行如下:

              security unlock-keychain -p "123456" ~/Library/Keychains/login.keychain  

              -p后面是你的mac的登陆密码,根据自己的实际情况输入。

    办法2:删除provisioning pfofile

          Xcode 中所有的PP文件,都在 ~/Library/MobileDevice/Provisioning Profiles 这个文件夹下;进入该文件夹,删除不需要的;用xcode运行一次,会重新下载有效的新的 provisioning pfofile;如果你不知道哪些是不需要的,你可以把~/Library/MobileDevice/Provisioning Profiles/下的文件全部移动到其他路径下备份。

        必要时,重启mac

    上面两种方法,可以配合使用,如果一种不行,就两种一起用,我是使用了解锁keychain就搞定了,但是看到我的~/Library/MobileDevice/Provisioning Profiles/下有90多个文件,我还是使用了删除provisioning pfofile的办法,不影响使用。

    参考:

    https://www.jianshu.com/p/bde2fbf1dd09

    https://blog.csdn.net/weixin_30376509/article/details/98651263

  • 相关阅读:
    C语言遍历文件夹里所有文件【转】
    davinci有用的连接
    VC中关于release和debug的区别【转】
    fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出【转】
    达芬奇数字媒体片上系统的架构和 Linux 启动过程【转】
    shell执行的特殊变数
    解决ubuntu10插入耳机还有外音的问题
    VMware Workstation安装ubuntu10.10【图解】
    使用 WebPlayer9播放器 使得my_vod_caching文件夹巨大系统空间急剧减少
    使用指针时的“陷阱”
  • 原文地址:https://www.cnblogs.com/zndxall/p/12604161.html
Copyright © 2011-2022 走看看