XCode 6 GM:构建设备时出现链接器错误(找不到金属)

时间:2014-09-12 09:11:13

标签: ios8 xcode6

我试图在XCode 6 GM中为设备构建我的项目(基本SDK版本为7.1),并且我收到链接器错误:

ld: framework not found Metal for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

同一项目在XCode 5中完美构建,项目设置没有任何变化。 (此外,在模拟器的XCode 6中构建成功。)

我正在使用SDK 7.1构建,为什么XCode 6仍试图链接到Metal?

3 个答案:

答案 0 :(得分:9)

遇到同样的问题。我能够在Xcode 6中建立应用程序,指向模拟器或手机,但归档时我收到此错误。我使用的是iOS 7.1 SDK。

我正在使用cocoapods,发现我可以通过自动设置' Link Frameworks'来解决问题。对于pods项目为NO,或者在插入设备时进行归档,该方案针对的是不仅仅是iOS设备的设备。

这是由Xcode 6的默认项目构建设置引起的问题。

编辑:以下是此解决方案的另一种解释:http://www.appsee.com/blog/dev/xcode-new-link-frameworks-automatically-fix-framework-not-found-metal-for-architecture-armv7

答案 1 :(得分:1)

我在构建精美iOS 8.0 SDK(Xcode 6.0.1)的代码库中遇到了同样的问题,并且在iOS 7.1 SDK中存在此问题(尽管在Xcode 5.1.1中)。似乎有很多不同的项目有这个问题。有关详细信息,请参阅here

解决这个问题的原因是我的目标'构建阶段'设置,'链接二进制文件库'和删除并重新添加CoreVideo.framework,'产品>清洁',最后'产品>跑'。

答案 2 :(得分:-1)

使用带有Xcode 6的iOS 7.1 SDK不是受支持的配置。链接器在这里表现正常。 7.1 SDK不包含要链接的Metal.framework,并且您已请求链接Metal.framework。您需要使用iOS 8.0 SDK或更高版本才能使用Metal.framework。