Jenkins CI/CD 持续集成专题三 Cocoapods /Cocoapods Packager 问题汇总

执行pod package xxx.podspec --force --no-mangle --exclude-deps --verbose

报错

java 复制代码
 warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'AFNetworking' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'AFNetworking' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'AFNetworking' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'MJRefresh' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'MJRefresh' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'MJRefresh' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'YHCategorySDK' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'YHCategorySDK' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'YHCategorySDK' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SVProgressHUD' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'SVProgressHUD' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'SVProgressHUD' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'HSAMPaySDK' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'HSAMPaySDK' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'HSAMPaySDK' from project 'Pods')
    warning: no rule to process file '/var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/HSAMPaySDK/HSAMPaySDK/Classes/HSACommon/HSA-NetEncryption-iOS/Wrapper/SM2/libtommath-0.42.0/callgraph.txt' of type 'text' for architecture 'arm64' (in target 'HSAMPaySDK' from project 'Pods')
    warning: no rule to process file '/var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/HSAMPaySDK/HSAMPaySDK/Classes/HSACommon/HSA-NetEncryption-iOS/Wrapper/SM2/libtommath-0.42.0/changes.txt' of type 'text' for architecture 'arm64' (in target 'HSAMPaySDK' from project 'Pods')
    warning: no rule to process file '/var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/HSAMPaySDK/HSAMPaySDK/Classes/HSACommon/HSA-NetEncryption-iOS/Wrapper/SM2/libtommath-0.42.0/LICENSE' of type 'text' for architecture 'arm64' (in target 'HSAMPaySDK' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'YHModel' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'YHModel' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'YHModel' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'Toast' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'Toast' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'Toast' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'YHAlertSDK' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'YHAlertSDK' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'YHAlertSDK' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'Pods-packager' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'Pods-packager' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'Pods-packager' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'YHBaseSDK' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'YHBaseSDK' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'YHBaseSDK' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SDAutoLayout' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'SDAutoLayout' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'SDAutoLayout' from project 'Pods')
    /var/folders/kg/n7fj8msd3917sfj3s7_22jym0000gn/T/cocoapods-a1vvbpsa/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'YHUtiliitiesSDK' from project 'Pods')
    error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'YHUtiliitiesSDK' from project 'Pods')
    error: The armv7s architecture is deprecated. You should update your ARCHS build setting to remove the armv7s architecture. (in target 'YHUtiliitiesSDK' from project 'Pods')
    ** BUILD FAILED **

Cocoapods Packager的最新发布 1.5.0 在 2016 年, 最新的代码提交在 2019 年,升级到Xcode14之后苹果做了一些优化,Cocoapods Packager没有适配

(Xcode 14 Release Notes,目前最低支持版本已经提到了 iOS11,并且自然而然的移除了无法升级到 iOS11 的armv7, armv7s, and i386。)

解决办法:通过修改cocoapods-packager的builder.rb 的 ARCHS 为

$(ARCHS_STANDARD)成功修复了Xcode14打已经被移除的armv7(s)失败的问题

参考目录: /Library/Ruby/Gems/2.6.0/gems/cocoapods-packager-1.5.0

如果没有,可以考虑先找到gems的其他可能目录,比如/usr/local/lib/ruby/gems/2.6.0/gems

原内容:

python 复制代码
 def ios_build_options
      "ARCHS=\'x86_64 i386 arm64 armv7 armv7s\' OTHER_CFLAGS=\'-fembed-bitcode -Qunused-arguments\'"
    end

修改为:

ruby 复制代码
def ios_build_options
   "ARCHS=\'$(ARCHS_STANDARD)\' OTHER_CFLAGS=\'-fembed-bitcode -Qunused-arguments'"
end

如果提示没有写入权限,可以使用命令行

ruby 复制代码
 sudo vim /Library/Ruby/Gems/2.6.0/gems/cocoapods-packager-1.5.0/lib/cocoapods-packager/builder.rb
相关推荐
醉颜凉8 小时前
Elasticsearch 相关性评分核心解密:tie_breaker 参数作用原理与实战调优全解析
大数据·elasticsearch·jenkins
网安蟹佬霸16 小时前
Zero Trust零信任架构实战:从架构设计到落地部署
安全·网络安全·ci/cd·架构·自动化·网安
Behaviour19 小时前
Unity游戏之Jenkins的安装部署应用
游戏·unity·jenkins
极小狐19 小时前
极狐GitLab Runner 自托管安全加固指南
安全·ci/cd·gitlab·devops·runner·安全加固
醉颜凉1 天前
Elasticsearch 核心基石:倒排索引全解析(原理+结构+流程图+实战)
elasticsearch·jenkins·流程图
醉颜凉1 天前
Elasticsearch底层原理:文档更新与删除完整执行流程深度剖析
大数据·elasticsearch·jenkins
晓晓_za8986681 天前
Geo 优化服务 CI/CD 流水线搭建:源码自动构建、测试与灰度发布
运维·服务器·tcp/ip·spring·缓存·ci/cd
潘正翔1 天前
k8s高级_调度器Deployment
linux·运维·云原生·容器·kubernetes·jenkins·devops
潘正翔2 天前
jenkins构建cicd流水线
运维·服务器·ci/cd·容器·自动化·jenkins·cicd
终末圆2 天前
GitHub Actions 实现 CI/CD
运维·ci/cd·github·运维开发·devops