你绝对可以做到这一点。您目前有三个选项可用于设置此开发和两个部署选项。
发展
Git 子模块
Git submodules 是将其他库引入项目存储库以嵌入项目的好方法。您需要做的就是添加子模块,然后将该库的 Xcode 项目拖到您的 Xcode 项目中,使其嵌套在您的项目中。然后您需要将该框架作为链接目标添加到您的库中。
迦太基
Carthage 还通过 --use-submodules 标志支持 git 子模块。您需要做的就是通过自制程序 install carthage,然后使用以下命令创建一个添加 Alamofire 和 SwiftyJSON 的 Cartfile。
carthage update --use-submodules
CocoaPods
CocoaPods 是一个依赖管理系统,允许您轻松地拉入和部署给定库的不同版本。由于Alamofire 和SwiftyJSON 都支持CocoaPods,您可以创建Podfile,然后运行pod install 将pod 拉入您的库中。我不会推荐这个,因为这是一个相当重的方法。相反,我建议使用 Git Submodules 或 Carthage 进行开发。
部署
部署是一个非常不同的情况。目前,在 OSS 社区(包括 Alamofire 和 Carthage)中有两种相当强大的 iOS 和 OSX 部署机制。
迦太基
如果您使用 Carthage 导入 git 子模块,那么您可能已经完全支持 Carthage 部署。这取决于您是否使用Cartfile.private 文件来引入您的依赖项。鉴于您正在尝试做的事情,我怀疑您会使用私人 Cartfile 而是使用公共 Cartfile。这意味着你应该很好地开箱即用。太棒了!
CocoaPods
CocoaPods 与 Carthage 有很大不同,并且与 Carthage 相比具有一些很大的优势,但需要付出一定的代价。您需要创建一个 podspec 文件并将其推送到公共或私有规范存储库中。然后任何人都可以使用 Podfile 将您的 pod 拉入他们的项目中。
总结
如您所见,这里有很多选项。我强烈推荐使用 Carthage 来引入你的 git 子模块,然后支持 Carthage 和 CocoaPods 进行部署。我知道这是一个很大的努力,所以你可能想专注于一个或另一个。很抱歉有大量的链接和信息,但您的问题让我相信您将从所有这些不同的来源中受益匪浅。
希望这可以帮助您成为依赖项开发和部署的忍者。