以微信SDK WechatOpenSDK 1.8.3 为例,在编译过程中无法使用 Xcode 通过 M系列的Arm架构下编译通过
问题与原因
..., building for iOS Simulator, but linking in object file built for iOS, file '...'
could not find module for target 'x86_64-apple-ios-simulator'
问题原因:相关SDK不支持Arm架构的iOS模拟器
解决方法
第一步:更改 Podfile 文件,向其尾部添加模拟器 arm64 架构排除;添加完成后请 pod install
platform :ios, '10.0' target 'YourApp' do use_frameworks! pod 'WechatOpenSDK' # 需要添加的排除模拟器arm64 post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end end # 排除结束 end
第二步:
添加排除模拟器 arm64 到项目 PEROJECT 和 TARGETS 的 Excluded Architectures 中
路径1:PEROJECT - “项目”- Build Settings - Excluded Architectures
路径2:TARGETS - “项目” - Build Settings - Excluded Architectures
注意:添加的时候不要添加 Any SDK,我们只需要按需添加,防止 Any All后打包时需要重新改
如项目是 iOS 项目 排除就选择 Any iOS Simulator SDK arm64
同理其他的可以选择其他的SDK,当然如果多兼容项目可以点击 Debug 和 Release 右侧的 “+” 来添加多个
到这里所有修改结束,然后 Clean 下项目,重新编译,会发现项目已经正常跑起来了。
有问题可以留言交流。
文章评论