记录一次Xcode 模拟器项目编译问题

简介: 记录一次Xcode 模拟器项目编译问题

起因


最近换了一个新的工作,之前一直都是用自己的电脑做项目开发的,新公司给我配了一个M1芯片的Mac mini,最近一直在熟悉项目中。以我以往的开发习惯,在开发的过程中都是用真机做项目开发的,因为我觉得这样会比较的方便,并且可以在真机中复现一下模拟器复现不了的问题。基本在第一天的时候,我就在真机上把项目跑起来了。后面的某一天(主要是记不清楚到底是第几天了),因为测试机被借走了,我就想着那就用模拟器看一下吧,然而问题就这么泰然自若的和我say hi。


分析问题

我在编译的时候就直接报错了,还不是一点点的错误

851634779661_.pic_hd.jpg

  1. 首先,看到这些问题的表述我以为模拟器的问题,我就去查了网上相关的问题,在国内的搜索引擎下可以在不同的技术网上内找到相同的问题的解决方案(这就让我想到了一个很经典的广告,“我们不生产水,我们只是大自然的搬运工”。)基本都是在说,是因为Xcode升级之后模拟器架构的问题,需要更改项目的配置。需要在 targebuild setting 中找到VALID_ARCHS的关键字 在后面面添加x86_64。我按照相关设置去查了项目配置,已经看到了项目中已经增加了这个字段。
  2. 那么我们继续看问题......,往下看就看到了之前遇到过的问题,一看就是编译的相关文件找不到了。
    1261634782870_.pic_hd.jpg
    这样的问题也比较好解决,就是在某些类里面引入了一些头文件,但是编译之后并没有找到相应的头文件
    截屏2021-10-25 上午9.51.52.png
    我们点开Compile Sources里面直接查一下有没有编译不到的那个文件,如果没有添加上就可以了。但是我这个有点特殊,因为编译不到的文件都是Pod里面的。这就让我很烦躁,此时还没有找到相关的文章来解决这个问题。

解决问题

在茫茫的文章中终于找到了一个解决问题的文章了。
## XCODE12 在使用模拟器(SIMULATOR)时编译错误的解决方法
就是这个文章,看完之后,我的理解就是。对于M1芯片的机器,不光要调整target的配置,Pod的相关配置也要改一下。我只是操作的文章中的第一步,在targetpodbuild setting中找到excluded architectures属性。因为我只是在模拟器上进行开发,所以我就只在其中的Debug模式下增加了arm64的属性,如下图所示
1511634797912_.pic.jpg
项目后面就,跑起来了。至于文章说的要在podfile中添加的那段代码.目前我还没有进行测试,如果有遇到和我相同的问题的朋友,可以自行试试,然后把结果告诉我,或者发在👇🏻下面的评论区中。

相关文章
|
6月前
|
jenkins Unix 持续交付
个人记录jenkins编译ios过程 xcode是9.4.1
个人记录jenkins编译ios过程 xcode是9.4.1
93 2
|
编译器 测试技术 开发工具
让你的 XCode 编译链接耗时减半
让你的 XCode 编译链接耗时减半
1329 0
让你的 XCode 编译链接耗时减半
|
JSON 缓存 监控
Xcode项目编译优化
随着项目工程的迭代,代码量不断的增加,扩展功能不断的被引入,项目的整体编译时间开始变长。
394 0
Xcode项目编译优化
|
iOS开发
Xcode 12.3 编译提示Building for iOS Simulator, but the linked and embedded framework
Xcode 12.3 编译提示Building for iOS Simulator, but the linked and embedded framework
|
iOS开发
Xcode如何编译Debug版和Release版​
Xcode如何编译Debug版和Release版​
|
iOS开发
Xcode如何编译Debug版和Release版​
Xcode如何编译Debug版和Release版
|
iOS开发
Xcode设置编译链接-framework CoreFoundation
Xcode设置编译链接-framework CoreFoundation
95 0
Xcode设置编译链接-framework CoreFoundation
|
开发工具 Perl
Xcode12 适配模拟器问题总结
Xcode12运行模拟器会报以下错误
211 0
|
iOS开发
xcode编译遇到的问题
xcode编译遇到的问题
112 0
|
iOS开发
MAC上使用不同版本的xcode编译
MAC上使用不同版本的xcode编译
96 0