4

我正在尝试在几个模块中组织一个项目。为了简化,我有两个模块:

  • iOSAppModule - 它是顶级模块
    • DataProviderModule - 由 iOSAppModule 使用

所以iOSAppModule是一个依赖DataProviderModule的项目。因此,DataProviderModule 是 iOSAppModule 的一个子项目。

DataProviderModule 独立于 iOSAppModule 工作。它有两个目标:DataProviderModuleUI 和 DataProviderModuleStatic。DataProviderModuleUI 是一个提供 UI 的目标,因此外部人员可以测试 DataProviderModule。DataProviderModuleStatic 是一个剥离 UI 类的 Cocoa Touch 静态库。

现在,问题是:我在 DataProviderModule 中使用 cocoapods,我不能在 iOSAppModule 上使用 DataProviderModule(带有静态目标),因为它找不到 lPods。

这是我当前在 DataProviderModule 中的 PodFile:

platform :ios, '5.0'

link_with ['DataProviderModuleUI', 'DataProviderModuleStatic']
pod 'MKNetworkKit', '~> 0.87'

iOSAppModule 不使用 pod。

4

2 回答 2

1

如果您使用--no-integrate optionpod 命令,您几乎可以进行任何设置。您必须手动将 Pod 项目连接到您的项目,但您拥有更多的灵活性。

在您的情况下,只需将 Pod 项目设为 DataProviderModule 的子项目,并相应地设置标头、库和构建路径。有关分步说明,请参阅此页面。

于 2015-02-17T21:07:32.883 回答
0

您的问题可能与 CocoaPods 不支持目标反集成有关。即,如果您过去将目标与 CocoaPods 集成,则需要从其构建阶段删除 Pods 库并取消设置 CocoaPods 配置文件。

由于最终目标未与 CocoaPods 集成,因此您还需要手动包含任何系统框架/库和任何其他必需的构建标志。CocoaPods 生成的 xcconfig 用于此目的,但它与目标的依赖关系有关。

几点注意事项:

  • CocoaPods 暂时不支持在没有某种手动干预的情况下与静态库链接。
  • 您可能需要使用xcodeprojDSL 指令指定目标的项目。
于 2013-11-11T17:55:57.023 回答