building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64

环境:
mac studio
xcode 14.0.1
添加Flutter

问题描述
连接真机,可以正常编译,可以正常安装,
但是在模拟器上就会出现编译失败,提示变量找不到,
看build log就可以找到类似这样的错误:building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64

问题根本原因不是下面这个,后面我找到原因了
是我自己在安装flutter的时候将xcode的“使用Rosetta打开”关闭了,才造成这样的问题。
(打开xcode的简介,勾选“使用Rosetta打开”就能解决问题)

简介勾选“使用Rosetta打开”

那应该是编译的环境变量有问题了,在mac studio上模拟器是arm64。
我这边报错的是第三方库的,直接是pod上build setting中增加arm64,clean build Folder 就可以了。
但是每次执行pod install后,arm64的这个参数还是会丢失,每次要自己加上去。
building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64_第1张图片

尝试过程:

  1. 对这块也不是很熟悉,于是google一圈,才找到build log在哪,接着看build log。
  2. 再看,是不是flutter 对arm 支持有问题,接着去看了flutter 下面的issue,但是说已经支持了(当前用的是flutter 2.8.1)。
  3. 接着了解到应该是编译的时候环境变量问题,于是尝试修改编译架构的变量。增加了arm64,问题就解决了。

你可能感兴趣的:(iOS,ios,flutter,xcode)