链接的框架'Pods_Runner.framework'缺少此目标所需的一个或多个体系结构:x86_64。
链接的框架'Pods_Runner.framework'缺少此目标所需的一个或多个体系结构:x86_64。
在使用M1 MacBook Pro在IOS模拟器上构建我的Flutter应用程序时,遇到了以下错误。我使用VS Code进行编辑。
在连接到Mac的iPhone上构建时没有任何问题。
有任何解决此问题的想法吗?
[错误截图](https://i.stack.imgur.com/SULlv.png)
在调试模式下启动iPhone 13模拟器上的lib/main.dart...
lib/main.dart:1
Xcode构建完成。 1.5秒
无法构建iOS应用程序
来自Xcode构建的错误输出:
↳
objc[10488]: Class AMSupportURLConnectionDelegate 在 /usr/lib/libauthinstall.dylib (0x1ffeb6b90) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1048c42c8) 中都有实现。将使用其中之一,具体是哪一个未定义。
objc[10488]: Class AMSupportURLSession 在 /usr/lib/libauthinstall.dylib (0x1ffeb6be0) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1048c4318) 中都有实现。将使用其中之一,具体是哪一个未定义。
** BUILD FAILED **
Xcode的输出:
↳
注意: 使用新的构建系统
注意: 正在进行规划
注意: 构建准备完成
注意: 按依赖顺序构建目标
/Users/aravindganesh/Documents/Development/myproject/ios/Runner.xcodeproj: error: 链接的框架 'Pods_Runner.framework' 缺少此目标所需的一个或多个体系结构:x86_64。 (在项目 'Runner' 中的目标 'Runner')
无法为模拟器构建应用程序。
在iPhone 13模拟器上启动应用程序时发生错误。
已退出(sigterm)
以下是我添加的Xcode配置:
[配置截图](https://i.stack.imgur.com/VcHHU.png)
问题的出现原因是链接的framework 'Pods_Runner.framework'缺少目标所需的一个或多个体系结构(x86_64)。
解决方法如下:
1. 在M1 Mac上运行以下命令以安装ffi库:sudo arch -x86_64 gem install ffi
2. 在ios文件夹内的Pod文件末尾添加以下代码:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings["ONLY_ACTIVE_ARCH"] = "NO" end end end
3. 在终端中运行以下命令以进入ios文件夹,并使用x86_64体系结构进行pod安装:cd ios/ && arch -x86_64 pod install
4. 使用Rosetta运行Xcode。可以通过运行softwareupdate --install-rosetta
命令安装Rosetta。
5. 排除arm64体系结构。
6. 清理构建 - 打开Xcode,然后按下Command + Shift + K组合键。
7. 如果使用nvm,请尝试将NODE_BINARY=node
替换为which node
命令的实际结果。
以上方法参考了以下答案:
- [one](https://stackoverflow.com/a/69294780)
- [two](https://stackoverflow.com/a/67549251)
- [three](https://github.com/facebook/react-native/issues/31181#issuecomment-823280700)
经过步骤2、3、4和5后,问题得到解决。
在Xcode 13.4中,出现了一个错误提示:The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target: x86_64。这个错误提示表明某个框架缺少了x86_64架构,而这个架构是当前目标所需的。
解决这个问题的方法是通过以下步骤进行设置:
1. 打开Xcode项目。
2. 在导航栏中选择目标。
3. 在右侧窗口中选择"Build Settings"。
4. 在"Build Options"下找到"Allow Multi-Platform Builds"选项。
5. 将该选项设置为"YES"。
通过以上步骤设置"Allow Multi-Platform Builds"为"YES"后,问题就会得到解决。
感谢以上解决方法的提供者!