更新到Xcode 11.4,模拟器编译报错 Building for iOS Simulator was built for iOS.

Xcode 升级到Version 11.4 (11E146)版本后,部分不支持模拟器的SDK在编译时报错:

Building for UIKit for Mac, but the linked framework 'XXX.framework' was built for macOS

经过尝试解决问题,然后总结出有2种解决方案。

1.修改当前工程的File -> Workspaces Setting,可以将工程的Build System修改成Legacy Build System。编译可以编译成功。(如果修改到Legacy Build System有报错,可以查看Legacy Build System下报错,可以逐一解决)。

2.若使用New Build System的,可以去Build Settings中搜索EXCLUDED_SOURCE_FILE_NAMES,添加Debug模式下,用模拟器编译下忽略的文件。

3.工程中引用不支持模拟器编译库的时候,也需要区分是不是模拟器区分引用。

#if !targetEnvironment(simulator)

// .....

#endif

最后附上官方类似问题解决方案:Apple Developer Forums

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容