在构建需要此捆绑包的 xcode 项目时,如何 Link macOS 捆绑包所需的框架

How to Link a framework required by a macOS bundle when building an xcode project requiring this bundle

我有一个 macOSX 捆绑项目 B,它需要 GameKit 框架。我可以将它编译成一个包,创建 B.bundle.

我把这个 B.bundle 放在需要这个包才能工作的项目 A 中。当我尝试构建项目 A 时,出现链接错误:

"__OBJC_CLASS_$_GKAccessPoint", referenced from:
obj-class-ref in ....
 "__OBJC_CLASS_$_GKLocalPlayer", referenced from:
obj-class-ref in ....

ld: symbol(s) not found for architecture arm64

GKAccessPoint 和 GKLocalPlayer 是我的捆绑项目使用的两个 类。看起来它根本找不到 类(我试过为其他架构构建它也失败了,但架构名称发生了变化)。

我真的不知道如何使链接起作用。这是我的项目 B 中的设置:

这里是我的项目 A 中的设置:

谢谢!

好吧,折腾了一天,终于找到问题所在了

我是用unity生成主工程,原生的GameKitNativebundle.bundle,还有GameKitNativebundle.mm文件都在工程里面,在资产文件夹。

问题是我勾选了要包含在独立版本中的 .mm 文件。所以 xcode 试图直接编译这个 .mm 文件并试图 link 它,但失败了。

取消勾选 .mm 文件中的独立复选框并从 unity 重建 xcode 项目使项目再次 link。