最近老的Mac笔记本太慢了,由于需要使用xcode,无奈还得继续使用苹果系统,只能买一台新的;据说M1处理器相当快,于是,就买了一台M1处理器的笔记本
最近编译一个之前的项目,在老的笔记本上是很正常的,但是在新的笔记本上确编译不过去
ld: in /platforms/ios/Pods/BaiduMapKit/BaiduMapKit/thirdlibs/libcrypto.a(cryptlib.o), building for iOS Simulator, but linking in object file built for iOS, file '/platforms/ios/Pods/BaiduMapKit/BaiduMapKit/thirdlibs/libcrypto.a' for architecture arm64
有人怀疑是cocoapods问题,于是重新安装;安装cocoapods也出现问题,可以看我之前的文章,专门说明了这个问题
经过各种搜索,在Stack Overflow上,有人说是需要“Open with Rosetta”,也就是还是按Intel处理器来编译,尝试之后,就可以了
- 安装Rosetta,打开Terminal输入
softwareupdate --install-rosetta
- 在Finder中,右键点击XCode
- 然后,点击【显示简介】
- 勾选 【使用 Rosetta打开】
这样,XCode就还是按原来的方式运行了
经过我分析,xcode虽然可以支持M1处理器指令,但是项目中用到的第三方库,由于是以前开发的,可能还不支持,导致编译失败,(如果能够及时升级第三方库,就要及时升级哦)