【发布时间】:2020-12-15 09:39:08
【问题描述】:
我有一个使用链接和嵌入式自定义框架的应用。在 Xcode 12.2 之前,该应用程序为 iOS 设备和模拟器正确构建。但是,从 Xcode 12.3 开始,我收到以下错误:
Building for iOS Simulator, but the linked and embedded framework 'My.framework' was built for iOS + iOS Simulator.
该框架是为设备和模拟器构建的(正如错误实际上所说)并使用lipo 合并,因此它应该能够在任何地方运行而不会出现问题。
我在这里遗漏了什么吗? Xcode 12.3 有什么相关变化吗?
【问题讨论】:
-
一个临时的解决方法(对我有用)是使用旧的构建系统stackoverflow.com/a/54058682
-
另一种解决方法是将 BuildSettings ->"Validate Workspace" 设置为 Yes。它仍然会显示警告,但会构建项目。
-
“验证工作区”为 YES 对我有用!但是当我再次更改为 NO 时,它仍然有效。有什么想法吗?
-
@o15a3d4l11s2 使用此选项有什么影响?
-
@NicHubbard,这是一个相当棘手的案例。将其切换为“是”会导致预构建验证过程。在这种特殊情况下,它发现框架是“胖的”(内部包含 iOS 和模拟器架构)并产生验证警告。为什么这会有所帮助 - 因为现在这个问题是一个警告,它不会再次显示为错误。只有错误才会停止构建过程。总的来说,我建议将其作为临时解决方法,而不是永久解决方案。