- 升级Xcode 14后运行工程报错
bundle targets' 'Signing Certificate' to 'Sign to Run Locally'
,这是因为Bundle签名不一致导致,一种解决办法是保持签名和主工程一致,一种是不签名。个人推荐第二种,解决办法:在podfile
中添加下面脚本:
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end
- 升级Xcode14.3工程运行报错。
File not found:arc/libarclite_iphoneSimulator
原因是 Xcode 14.3开始,增加了最低版本支持Minimum Deployments 11.0
,解决办法:在podfile
中添加下面脚本:
post_install do |installer_representation|
#由于 Xcode 14.3开始,增加了最低版本支持 Minimum Deployments 11.0,File not found:arc/libarclite_iphoneSimulator
installer_representation.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
end
-
升级Xcode14.3后执行
pod lib lint
报错:xcodebuild: Returned an unsuccessful exit code
。往前查看fail的地方原因是libarclite_iphoneos.a
,一看这个错误和2中提到的是类似的,原因是你依赖的库支持的最低版本是11以下。参考官方的一个issue:Xcode 14.3 haspod lib lint
fail ,目前Cocoapods也没好的解决办法。要么升级库支持11以上,要么把Xcode
版本降级至14.2。目前我选择了降级Xcode,这个很实硬伤,让我们发布新组件如果有依赖第三方已经没有维护的组件很是苦恼,感觉官方也没办法解决。 -
升级Xcode14+ 后执行
pod lib lint
报错:building for iOS Simulator, not found for architecture arm64
这个错误让我很是无语,它报错的第三方库xxx.framework
,查看它支持的架构有:are: armv7 i386 x86_64 arm64
是包含arm64
的,而且直接放到工程中用xcode14+
打包ipa
也没问题,就是pod lib lint
报错,后面再排查了下把报错的内容发现一个关键信息:building for iOS Simulator, but linking in object file built for iOS
通过错误描述,在为 iOS 模拟器编译过程中,链接的这个库时找不到 arm64
架构。我们知道早前模拟器仅支持 i386 x86_64
架构即可,现在竟然在模拟器上需要 arm64
架构了,应该是为了支持 Apple silicon
。M1
正是 arm
架构,那 M1
上的模拟器自然就是需要 arm64
架构的了。目前看CocoaPods
也有人遇到了类似问题:Error in PodSpec Validation due to architectures 貌似很早版本就有人遇到了,应该我刚好需要把这个framework
引入组件中在Xcode14
中遇到。
解决办法:
a. 修改 podspec
:
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
b. pod lib lint
跟上--skip-import-validation
网友评论