我正在摆脱我 8 岁的旧 mac,并切换到新的 m1 macbook air,但我的旧项目都没有运行。我已经成功安装了 cocoapods,但是我的很多大项目都遇到了错误,即使在更新所有 pod 并通过 Rosetta 运行所有内容之后也是如此。以下是我在 Xcode 中遇到的一些错误:
<块引用>找不到目标的模块“PodName” 'x86_64-apple-ios-模拟器';发现:arm64,arm64-apple-ios-simulator
没有这样的模块'PodName'
这些只是少数,遇到了很多错误。我尝试更新这些 pod,重新安装它们等,但没有任何效果。有没有人用 m1 mac 成功过这个?
答案 0 :(得分:4)
您可以调整项目架构或在 Podfile 的最后添加以下内容(并再次运行 pod update
):
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
答案 1 :(得分:3)
这似乎与这里的问题和答案有关:Xcode 12, building for iOS Simulator, but linking in object file built for iOS, for architecture arm64
基本上你需要做的是确保:
ARCHS_STANDARD
)arm64
这应该能让你开始工作。
需要注意的一件事(让我困扰了一段时间):确保您没有具有“有效架构”(VALID_ARCHS
) 的构建设置。如果这样做,请完全删除该行。它给我带来了问题,因为它实际上忽略了 Apple 希望我们使用的新范式(架构 + 排除的架构)。
最后,如果您没有看到 VALID_ARCHS
但仍然无法运行它,对我有用的一件事(因为我也回到了一个旧项目)是:
VALID_ARCHS
并将其设置为标准架构