当前位置:网站首页>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
边栏推荐
猜你喜欢

Chapter 12 贝叶斯网络

数据源对象管理Druid和c3p0

ps怎么把图片变清晰,自学ps软件photoshop2022,简单快速用ps让照片更清晰更有质感

MySQL database error The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

sql server收缩日志的作业和记录,失败就是因为和备份冲突了吗?

DTcloud 装饰器

D2--FPGA SPI interface communication2022-08-03

Why is pnpm hitting npm and yarn dimensionality reduction?

Embedded Systems: Basic Timers

How to make a puzzle in PS, self-study PS software photoshop2022, PS make a puzzle effect
随机推荐
嵌入式系统:基本定时器
画法几何及工程制图考试卷A卷
DNS 查询原理详解
MySQL database error The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
SQL SERVER on master-slave table trigger design
十一道家常小菜详细攻略[图文并茂]
NC20164 :最大数MAXNUMBER [线段树]
thinkPHP5 实现点击量(数据自增/自减)
【每日一题】1403. 非递增顺序的最小子序列
苹果官网商店新上架Mophie系列Powerstation Pro、GaN充电头等产品
XSS靶机通关以及XSS介绍
DPU — 功能特性 — 安全系统的硬件卸载
数据源对象管理Druid和c3p0
代码审计—PHP
全面讲解GET 和 POST请求的本质区别是什么?原来我一直理解错了
DTcloud 装饰器
k-nearest neighbor fault monitoring based on multi-block information extraction and Mahalanobis distance
基于多块信息提取和马氏距离的k近邻故障监测
哪个是你爱情的颜色?
DataFrame在指定位置插入行和列