当前位置:网站首页>XCODE12 在使用模拟器(SIMULATOR)时编译错误的解决方法
XCODE12 在使用模拟器(SIMULATOR)时编译错误的解决方法
2022-08-05 08:45:00 【今人不见古时月,今月曾经照古人】
Xcode12 上使用模拟器编译项目时,出现错误。同样的代码在Xcode11则不会有问题。Xcode12 在使用模拟器(Simulator)时编译错误的解决方法
一些错误如下:
No such modules (import installed pods)
Cocoapods post-build step with the script they install issue -> Pods/Target Support Files/Pods-All-Apps-XXX/Pods-All-Apps-XXX-frameworks.sh: line 141: ARCHS[@]: unbound variable
‘ObjCheaderFile.h’ file not found. (ObjC Headers in bridging file)



为什么会出现这些错误?
在查阅Xcode12的升级文档,我们找到如下内容:

1、Xcode11 项目中模拟器会编译为x86_64,但Xcode12的模拟器基于苹果Apple Silicon architecture执行,需要编译为arm64运行在模拟器上。许多第三方库(如Firebase,AFNetworking等)并未提供Xcode12版本的更新支持,导致报错。
2、Xcode12 开始移除编译设置(Bulid Settings)中的 Valid Architectures的宏定义。当项目使用Xcode12打开时候,会在User-Defines(项目的Bulid Settings里面)中自动生成VALID_ARCHS宏定义。如果旧项目存在于此冲突的宏定义,会导致编译失败。
如何修复?
第一步:添加 arm64 到 simulator architecture 中。主项目和pod项目都需要。
在主项目和pod项目的PROJECT的Build Settings中,搜索Excluded Architecture ,添加 Any iOS Simulator SDK,value填入 arm64


注意:在pod项目的build setting是cocopod自动生成的,本次修改在下次更新第三方库时候会被覆盖,可以添加脚本在Podfile中,防止每次安装和更新都需要手动修改。
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
第二步:在主项目和pod项目的PROJECT的Build Settings中,删除VALID_ARCHS(整个删除,不能只删除value留下Key

本文转自他人!
原文链接:Xcode12 在使用模拟器(Simulator)时编译错误的解决方法_HDLX刘乔泓的博客-CSDN博客_simulator模拟器error030084
边栏推荐
- 16 kinds of fragrant rice recipes
- Detailed explanation of DNS query principle
- SQL SERVER on master-slave table trigger design
- 动态库之间回调函数使用
- Thinking and summary of the efficiency of IT R&D/development process specification
- Thinking after writing a code with a very high CPU usage
- DPU — 功能特性 — 存储系统的硬件卸载
- 链表专项之环形链表
- How to replace colors in ps, self-study ps software photoshop2022, replace one color of a picture in ps with another color
- 随机码的生成
猜你喜欢

Ethernet Principle

全面讲解GET 和 POST请求的本质区别是什么?原来我一直理解错了

Thinking and summary of the efficiency of IT R&D/development process specification

Chapter 12 贝叶斯网络

DataFrame insert row and column at specified position

spark集群部署(第三弹)

Spark cluster deployment (third bullet)

Dynamic memory development (C language)

接口全周期的生产力利器Apifox

JVM运行流程,运行时数据区,类加载,垃圾回收,JMM解析
随机推荐
控制器-----controller
Version number naming convention
[Repost] Marry a man must marry a man whose salary is at least 3571.4 yuan higher than yours
Beautifully painted MM set
国际原子能机构总干事称乌克兰扎波罗热核电站安全形势堪忧
彩绘漂亮MM集
【无标题】目录
【结构体内功修炼】结构体实现位段(二)
长期招聘嵌入式开发-深圳宝安
How Entrepreneurs Attract Venture Capitalists
Thinking after writing a code with a very high CPU usage
随机码的生成
Redis implements distributed lock-principle-detailed explanation of the problem
mySQL数据库初始化失败,有谁可以指导一下吗
Chapter 12 Bayesian Networks
数据源对象管理Druid和c3p0
工程制图直线投影练习
七夕给自己new一个chatRobot当对象
php fails to write data to mysql
Linux导出数据库数据到硬盘