将复杂的Xcode项目集成到另一个项目中的最佳方法

时间:2015-02-03 08:38:32

标签: ios xcode cocoapods

我想将现有的Xcode项目A集成到另一个项目B中,以便第二个项目可以重用某些功能。

项目A:

  • 相当复杂,管理authenfication + session,很多类之间的依赖关系(尤其是UIViewController)
  • 依赖于十几个Cocoapods依赖
  • 该项目独立存在:它是一个已经部署在商店的销售渠道/售票店
  • 不断进化

项目B:

  • 项目客户方希望整合销售渠道的某些部分

  • 复杂性可能变化很大(使用或不使用Cocoapods等)

基本上,如果他们还没有iOS应用程序,我们可以为我们的客户提供和打包电子商务商店,或者我们必须将其集成到现有的应用程序中。

期望:

  • 理想情况下,我们可以在核心项目A上进行演变和迭代,而无需进行大量工作以使其可用于集成(对于我们来说,在单个项目上工作比在核心项目上工作更具成本效益SDK / Library(从头开始制作)
  • 我们希望能够轻松地为客户自行集成

我们一直在考虑的方法是:

  • 构建.a库文件。但考虑到项目的规模,它似乎并不实际

  • 将.xcodeproj从A放入B(àlaZXing),但由于Cocoapods的依赖性,这很痛苦

    • 只需将A中的所有类添加到B中(首先将正确的包装添加到文件夹中),管理Cocoapods for B(如果Cocopoads已经使用或设置它,则添加来自A的依赖项),并通过编辑来简化所有导入.pch相应地。

你的建议是什么?

1 个答案:

答案 0 :(得分:1)

由于您已经在使用cocoapods,我会尝试使用共享特征来创建一个私有pod。这样,您可以轻松跟踪项目中的版本,并使用相同的工具来管理所有依赖项。

这种方法也可以使客户更容易集成,因为只要他能够访问存储库而不是完整的主项目,他就会看到来自pod的共享代码。