美文网首页
2022-03-09

2022-03-09

作者: Lee0528 | 来源:发表于2022-03-09 11:28 被阅读0次

Xcode12 在使用模拟器(Simulator)时编译错误的解决方法

Xcode12 上使用模拟器编译项目时,出现错误。同样的代码在Xcode11则不会有问题。

一些错误如下:

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)


image.png
image.png image.png

为什么会出现这些错误?

在查阅Xcode12的升级文档,我们找到如下内容: image.png

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 image.png
image.png

注意:在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
image.png

本文转自他人!
原文链接:https://blog.csdn.net/babylv1/article/details/109395657

相关文章

  • 橙子的ScalersTalk第六轮新概念朗读持续力训练Day 1

    练习材料:[Day 2722 2022-03-09] Lesson 25-2 The Cutty Sark In ...

  • 2022-03-09

    2022-03-09坚持分享第1255天 读《建构解决之道》P267-269感悟:理解现况与推进具体行动的评量问句...

  • 朋友

    2022-03-09 昨天女神节放半天假,找了以前的好友聊天,各自倾诉最近的情况,发现大家其实都有很多新的人生感悟...

  • 我思故思在

    原创 后山萤火 煦然之光 2022-03-09 07:07 一切都是思想,没有什么在思想以外,这句话后面是...

  • 生活善良的我们

    生活善良的我们 吉祥如意幸福久久说 2022-03-09 文/吉祥如意幸福久久 每天的生活本身并不复杂,真正复杂的...

  • 2022-03-10

    2022-03-09 “治世之能臣,乱世之奸雄;临危制变,料敌设奇,一将之智有余,万乘之才不足;三国英雄,首...

  • “因为我要把你推下悬崖”

    幸福日志2022-03-09 周三 晴 “妈妈,为什么以前我就可以和你睡一起,现在就不行?”六岁的老大问。没错,我...

  • 2022-03-09

    品牌传播的定力 李瑞波瑞波友李2022-03-09 19:36 品牌透镜把品牌当作“悬”于企业和顾客之间的一块“凸...

  • 0128|雕刻时光Cafe

    2022-03-09 北京 晴天清晨的时光有西芹汁和胡萝卜汁+丽诺果混合果汁配上零极限清理音乐,还有阳光真是一大享...

  • 2022-03-10

    2022-03-09 有些事情并不是说它没有发生就代表它不存在,对于它,我真的不知道该怎么面对它的突如其来,它的每...

网友评论

      本文标题:2022-03-09

      本文链接:https://www.haomeiwen.com/subject/ygrtdrtx.html