我不能再在模拟器上运行我的应用程序了。Online建议我编辑我的项目。Pbxproj,但这似乎不起作用。如何恢复在模拟器上运行项目的能力(并在设备上仍然能够这样做)?我正在开发另一个项目,该项目使用了许多相同的框架,但它运行在模拟器上。什么会导致类似的框架在一个项目中工作,而在另一个项目中不工作?


当前回答

我在Xcode v12.3和Universal(fat) Framework(.framework)上运行了这个错误

Building for iOS Simulator, but the linked and embedded framework was built for iOS + iOS Simulator.

解决方案1:是Toggle/Toggle验证工作区(不是默认)

方案二:使用XCFramework[About]

其他回答

如果使用Carthage,请确保使用copy-frameworks脚本,而不是使用Embed & Sign作为嵌入内容。我得到了同样的错误,因为我忘记了。

当我将我的自定义框架添加到项目中时,在我更新Xcode后,我遇到了同样的问题。

解决方案:在项目的构建设置下搜索验证工作区 更改为yes,默认设置为no

Xcode 12.3

在我的案例中,我通过在Build Settings选项卡中简单地将Validate Workspace设置为Yes来解决这个问题

我想你所链接的框架只是为arm架构而构建的。你不能在模拟器中运行它。您将需要框架的作者来构建一个“通用框架”。

我在Xcode v12.3和Universal(fat) Framework(.framework)上运行了这个错误

Building for iOS Simulator, but the linked and embedded framework was built for iOS + iOS Simulator.

解决方案1:是Toggle/Toggle验证工作区(不是默认)

方案二:使用XCFramework[About]