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


当前回答

如果你是Xcode的新手,使用Xcode只是为了启动模拟器来运行appium工具,以上步骤可能会比较复杂。对于初学者来说,使用小于11的xcode版本即可。

此链接有助于下载xcode 10.3

Xcode10.3

如果你尝试从AppStore下载,我们需要有高达40gb的空闲存储空间,上述' xip文件将不会导致存储错误。

你可以稍后感谢我,如果这工作!!

其他回答

使用.xcframework,而不是包含iOS和iOS模拟器切片的“胖”.framework。 这也避免了在为App Store构建时使用构建阶段剥离iOS模拟器切片的需要。

“Fat”框架通常是使用lipo创建的,因为它们不能直接由Xcode构建,因此不受支持(来源:开发者技术支持苹果开发者论坛). xcframework是唯一受支持的机制,可以发布一个支持iOS和iOS模拟器的单一框架。

此外,.xframework是唯一支持发布二进制Swift框架的方式(来源:苹果开发者论坛上的开发者技术支持)。

在Xcode 12.3中,不支持“胖”框架的事实是强制的,因为Xcode在构建过程中验证了框架,这就是为什么很多项目突然开始看到构建错误。

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

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

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

我在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]

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