Xcode 9 运行过的项目在 Xcode 8 编译失败

本文记录一个 Xcode 8 和 9 差异造成的项目在 Xcode 8 上面无法正常链接的问题。

最近需要通过 Xcode 8 运行项目验证某些问题,但是发现原来正常运行的工程在 Xcode 8 上编译的时候出现了链接错误。错误提示如下:

Linker command failed with exit code 1(use -v to see invocation)

因为直接点击无法跳转到详细的 log 页面,所以通过 右击 -> Reveal in Log 进入该页面。

reveal_error_in_log

进入了详细的 log 页面之后可以看到更具体的信息如下:

detail_error_of_IOSurface

这里提示的是链接的过程中找不到 IOSurface 这个 Framework,进而导致了链接失败。通过一番 Google 发现这是 Xcode 9 新增的 Framework。将其从 Xcode 9 拷贝到 Xcode 8 中即解决了该问题。路径为:Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

不过解决了该问题后又因为找不到另一个名为 FileProvider 的 Framework 而链接失败,同样从 Xcode 9将其拷贝到 Xcode 8 即可解决。

就这么水了一篇。。。

文章目录
,