Xcode 12问题-找不到模块';框架名称';对于目标';arm64苹果ios模拟器&x27;;找到:x86_64-apple-ios-simulator,x86_64

Xcode 12问题-找不到模块';框架名称';对于目标';arm64苹果ios模拟器&x27;;找到:x86_64-apple-ios-simulator,x86_64,ios,swift,xcode12,Ios,Swift,Xcode12,在升级到Xcode 12后,当在模拟器上构建时,项目会给我这个错误: Could not find module 'FrameworkName' for target 'arm64-apple-ios-simulator'; found: x86_64-apple-ios-simulator, x86_64 该框架安装了cocoapod。 它与Xcode 11一起工作。在“任何iOS设备”或真正的iPhone上使用Xcode 12也可以正常工作。 在Xcode 12中有什么不同?您可以尝试删除

在升级到Xcode 12后,当在模拟器上构建时,项目会给我这个错误:

Could not find module 'FrameworkName' for target 'arm64-apple-ios-simulator'; found: x86_64-apple-ios-simulator, x86_64
该框架安装了cocoapod。 它与Xcode 11一起工作。在“任何iOS设备”或真正的iPhone上使用Xcode 12也可以正常工作。
在Xcode 12中有什么不同?

您可以尝试删除应用程序的派生数据,然后清理并构建应用程序,您可以按照以下链接的步骤操作我通过确保构建设置
有效的\u ARCHS
(现在出现在Xcode 12的构建设置底部)包含“
x86\u 64
”来修复此问题

即:

  • 之前我有:
    VALID\u ARCHS=arm64,arm64e
  • 修复后:
    VALID\u ARCHS=arm64、arm64e、x86\u 64
(有点违反直觉,因为错误消息说它找不到
arm64
-苹果ios模拟器的模块::耸耸肩:)

你可以尝试为任何ios模拟器SDK的调试设置
$(ARCHS\u标准)
有效的\u ARCHS
,为
仅活动的\u ARCHS
设置
的调试。这对我有用


当您修改项目以适应新的M1 Mac,然后尝试在Intel Mac上运行相同的项目时,可能会出现这种情况

它基本上尝试在ARM架构上运行,并找到X86_64

要解决此问题,只需将构建操作限制为活动(X86_64)体系结构

您可以通过将Build Active Architectures only设置为YES来实现这一点


我已经尝试过删除派生数据、清理构建、重新启动Xcode、重新启动Mac。。什么都帮不了你想明白了吗?试试Mete的解决方案。哇,这实际上解决了这个问题!最后在模拟器上成功运行。谢谢这一个有效,我试着用这里给出的替换
VALID_ARCHS
的值:
arm64,arm64e,x86_64
VALID_ARCHS
在Xcode 12.3中不再存在。@aheze是的,它实际上从12.3之前就“缺失”了。但您可以自己将其添加到“生成设置”底部的“用户定义的”
部分。这确实有误导性,因为
arm64
部分,但iOS模拟器实际上是在x86-64(英特尔Mac电脑)上本机运行的,因此该解决方案非常有意义。这就是为什么它是一个模拟器,而不是一个模拟器。这也是为什么它比Android模拟器速度快得难以置信的原因。苹果的硅Mac也在本地运行,但现在在arm64上,与iPhone和其他苹果产品一样。也许错误是这样的,因为模拟器被重命名为Apple Silicon transition。我没有任何内幕消息,只是猜测而已。