Xcode building for iOS Simulator, but linking in an object file built for iOS, for architecture #39;arm64#39;(为iOS模拟器构建Xcode,但链接到为iOS和体系结构构建的目标文件中。)
问题描述
我正在尝试获得一个大的(并在Xcode11上工作!)在Xcode 12(测试版5)中构建项目,为iOS 14做准备。以前的代码库位于Objective-C中,但现在它同时包含了Objective-C和SWIFT,并且还使用了Objective-C和/或SWIFT的Pod。
我已经拉出了支持Xcode 12的CocoaPods的新测试版(当前为1.10.0.beta 2)。
Pod安装成功。当我进行构建时,我在Pod框架上得到以下错误:
为iOS模拟器构建,但链接到为iOS和体系结构ARM构建的目标文件64
可能还有错误:
无法加载目标‘arm64-Apple-ios11.0’的标准库
当我在框架上运行lipo -info
时,它有:armv7s ARMv7 i386 x86_64 arm64。
以前,项目将有效体系结构设置为:ARMv7、armv7s和arm64。
根据苹果的文档,在Xcode12中,该设置消失了。架构设置为$(ARCS_STANDARD)。我没有在排除的体系结构中设置任何内容。
这里可能发生了什么?我还不能用一个更简单的项目重现这一点。
推荐答案
基本上,您必须从您的项目和Pod项目中排除模拟器架构的arm64
为此,请导航到项目的构建设置,并在排除的体系结构内添加任何iOS模拟器SDK。
或
如果您使用的是自定义
XCConfig
文件,则只需添加此行即可排除模拟器架构。EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
然后
您必须对Pod项目执行相同的操作,直到所有可可Pod供应商完成在PodSpec中添加以下内容。
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
您可以在Pod项目的生成设置中手动添加排除的体系结构,但当您 使用
作为替代,您可以在pod install
。Podfile
中添加此代码段。它将在您每次运行pod install
时写入必要的生成设置。post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end end
这篇关于为iOS模拟器构建Xcode,但链接到为iOS和体系结构构建的目标文件中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为iOS模拟器构建Xcode,但链接到为iOS和体系结构构建的目标文件中。
基础教程推荐
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01