1

我正在同时为 OSX 和 iOS 创建一个游戏。我有一个包含 3 个项目的工作区:

  1. CORE是一个具有 2 个目标的静态库:一个用于 OSX,一个用于 iOS。它包含所有代码的 99.99%。
  2. OSX是一个使用该库并构建 OSX 应用程序的项目
  3. iOS是一个使用库并构建 iOS 应用程序的项目

OSX项目完美运行。我按下构建,它运行得很好。

奇怪的是,CORE项目为 iOS 目标显示了一个红色产品。我已将此目标链接到iOS项目,并且工作正常……除非我对CORE库进行更改,否则更改不会反映在应用程序中,除非我先清理iOS项目。换句话说,即使我明确地重建了CORE库,它仍然不起作用;我必须在核心更改生效之前清理iOS项目。

截屏: 在此处输入图像描述

所需功能:就像使用 OSX 应用程序一样,我应该只需按下“构建”,对CORE库的任何更改都将被编译并部署到应用程序中。

问题似乎是 XCode认为 libAftermathCore -iOS.a 文件的位置应该是: 在此处输入图像描述

不是它实际建造的地方: 在此处输入图像描述

请注意,文件夹名称对于 OSX 库正确的,但对于 iOS 则不正确。

4

2 回答 2

0

好的,我最终通过更改Per-configuration Build Products Path解决了这个问题:

在此处输入图像描述

对此:

在此处输入图像描述

这意味着所有 4 个目标都构建到同一个文件夹中:

在此处输入图像描述

于 2013-07-25T05:44:41.373 回答
0

可能您应该将您的 lib 添加到 AftermathIOS 目标依赖项:单击项目 -> 选择目标 -> 构建阶段 -> 目标依赖项

于 2013-07-25T05:19:28.207 回答