Xcode 7.0 Beta 4 的 GameCenter 框架图像未找到错误

GameCenter framework image not found error for Xcode 7.0 Beta 4

有人在使用 Xcode 7 Beta 4 运行 在实际 iPhone(iOS 版本 8.4)上尝试 运行 他们的应用程序时遇到这个问题吗?

dyld: Library not loaded: /System/Library/Frameworks/GameCenter.framework/GameCenter Referenced from: /private/var/mobile/Containers/Bundle/Application/CC713E5A-7839-43F1-9AEB-932AE2A3DF8A/.... Reason: image not found

为了您的信息,在我切换到 Xcode 7...

之前,它一直没有错误

在 Project Settings->Build Settings weak link 新的 iOS 9 GameCenter 库和旧的 GameKit 库,然后重试。您可以通过将 'Status' 指定为 'Optional'.

来削弱 link 它们

你仍然需要旧的,因为你 运行 使用的是比 9 更旧的 iOS,这将需要 GameKit 存根库 linked,因为它不会了解 iOS 9.

的新 GameCenter

可能还需要改

#import <GameKit/GameKit.h>

#import <GameCenter/GameCenter.h>

如果我不得不猜测这个变化可能只是因为使用了一个不太通用的库名称,因为 Apple 继续添加更多面向游戏的库(Spritekit、Scenekit、Replaykit 等),将主要的 GameCenter 库从 GameKit 重命名为 GameCenter有道理。

对我来说,它在 iOS 8.4 和 iOS 9 上运行良好,对上述建议进行了这些修改:

  • 不要更改您的代码,只需坚持使用 #import < GameKit/GameKit.h >
  • 使用 XCode 7 构建时,添加 GameCenter.framework(弱 link / 可选)和 不要为 GameKit.framework(必需)
  • 更改此选项

就是这样。

如果 XCode7 给你一个关于 GameKit.Framework 的 linker 错误,返回到 XCode 6.4 并重建项目(禁用 GameCenter.framework 在文件检查器之前)。然后返回 XCode 7 - linker 错误消失了。

看起来这个问题在 XCode Beta 5 中已经消失了。有人确认一下吗?