47

注意:这是这个问题的一个更抽象和简化的子集

随着触控框架、扩展Apple Watch Xcode 6 项目和工作区的添加,变得越来越复杂。

如果您将CocoaPods添加到这种组合中,事情开始变得几乎无法管理。

我将如何构建具有以下目标和依赖关系的 Xcode 项目/工作区?(假设:我对所有组件使用 Git,对所有第三方代码使用 CocoaPods,我使用 Xcode 6)。

  • 我的酷应用
    • 通过 CocoaPods 实现的几个 3rd 方 UI 库
    • MyCoolNetworking.framework,我作为 Git 子模块创建的框架(项目)
      • 通过 CocoaPods 的 AFNetworking
      • 通过 CocoaPods 的其他数据处理代码
    • MyCoolAppBusinessLogic.framework,由应用和所有扩展使用(下)
      • 包括来自 CocoaPods 的一些代码,这些代码对应用程序和扩展程序很常见
    • MyCoolToadyView,TodayView 扩展目标
    • MyCoolWatch,Apple Watch 扩展目标

如您所见,这是一个复杂的结构,包括几个 CocoaPods 实例。有关如何解决任何或所有这些问题的任何建议都会有所帮助。

(我的计划是写一些我自己的想法,然后综合其他人的答案,这无疑是一个活生生的文件)。

4

2 回答 2

1

更多的是评论而不是答案,但我没有足够的声誉:您是否尝试过使用 cocoapods xcode 插件?我使用它,它自己构建 pod,所以我什至不必担心它。

于 2015-08-05T17:07:18.713 回答
0

我真的认为在这种情况下你可以使用 Cocoapods 来创建你的工作空间,因为它真的可以帮助你,并且你可以将你想要的组件添加到你自己的每个框架中。

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

workspace ‘Project.xcworkspace'

target 'Project.Models’ do
xcodeproj ‘Project/Models.xcodeproj’
pod 'Alamofire', '~> 2.0'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'

end

target 'Project.Business' do
xcodeproj ‘ Project/Project.Business.xcodeproj’

pod 'Alamofire', '~> 2.0'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'

end

例如,这是我如何管理具有多个依赖项的多个框架并将其解析为一个主工作区的一个示例,该工作区具有我每个项目的第 3 方库的所有依赖项

希望这能给您一个提示或帮助您解决问题。

于 2015-10-08T19:37:40.273 回答