iOS开发M1芯片遇到的问题

pod失败执行:

sudo arch -x86_64 gem install ffi

Then

arch -x86_64 pod install

M1芯片的Mac无法在模拟器上运行项目building for iOS Simulator或could not find module for target..

真机上可运行,模拟器上不行,并出现以下错误:

in xx/xx/arm64, building for iOS Simulator, but linking in object file built for iOS, file 'xx/xx' 

could not find module for target 'x86_64-apple-ios-simulator'

解决方案1

1.在项目的project和target的Build Setting里,搜excluded architectures,然后双击它,会弹出一个弹框,点击加号(如下图)添加arm64

iOS开发M1芯片遇到的问题_第1张图片

 最终效果如图:

iOS开发M1芯片遇到的问题_第2张图片

2.在项目的podfile的最后添加以下代码:

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
end
复制代码

如图: 

iOS开发M1芯片遇到的问题_第3张图片

3.回终端pod install一下

注:之后如需在真机上运行则需把上面第一步和第二步恢复原状,然后pod install一下。

(在上架App Store前也需这样做)

解决方案2

iOS开发M1芯片遇到的问题_第4张图片

以下报错

[VERBOSE-2:profiler_metrics_ios_mm(184)] Error retrieving thread information: (ipc/send) invalid destination port

这个问题与带有 flutter 1 的 M1 处理器的新 MacBook 有关,只需尝试使用此命令运行应用程序将有助于在 Flutter #1 中运行应用程序

flutter run | grep -v "Error retrieving thread information"

或者你可以使用下面的命令升级到 Flutter #2 并修复问题

flutter upgrade

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