我试图在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?
答案 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。