Xcode 在M系列芯片下无法编译成功,模拟器无法启动问题

2024年5月21日 699点热度 0人点赞 0条评论

以微信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 右侧的 “+” 来添加多个

 

 

添加排除模拟器 arm64 到项目 PEROJECT 和 TARGETS 的 Excluded Architectures 中

添加排除模拟器 arm64 到项目 PEROJECT 和 TARGETS 的 Excluded Architectures 中

 

到这里所有修改结束,然后 Clean  下项目,重新编译,会发现项目已经正常跑起来了。

 

有问题可以留言交流。

 

帮助教程

提供最新的帮助教程,方便使用。

文章评论