building for iOS Simulator, but linking in object file built for iOS

这个M1芯片下Xcode 编译错误的解决方案:
Xcode版本:12.5
M1芯片的Macbook pro

在选中模拟器进行编译的时候,会报如下类似错误。

building for iOS Simulator, but linking in object file built for iOS, file 'xxx/Pods/WechatOpenSDK/WeChatSDK1.8.5/libWeChatSDK.a' for architecture arm64

这个问题目前应该只出现在M1芯片的Mac上,似乎又是一个兼容性问题,因为M1芯片的Mac本身就是arm架构,所以模拟器自然也支持arm架构。。。
目前的解决方案是,在编译设置中,对模拟器排除 arm64

第一步:配置工程项目:


image.png

第二步:配置pods项目:


image.png

然后clean一下项目,重新编译启动就可以了。
当然,因为直接配置的pods项目,所以可能在执行pod install时,会被覆盖掉,还需要重新设置,所以也可以不用直接配置,而是在podfile文件末尾添加以下脚本:然后执行pod install 命令。

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
        end
    end
end

写在后面:

疑虑:团队开发的话,可能有些人用的不是M1芯片的Mac,我们这么改项目编译配置,不知道对他们使用模拟器有没有响应?有知道答案的可以评论告诉我。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容