结合 Cocoapods 和 Carthage
Combine Cocoapods and Carthage
我正在创建一个依赖于其他几个第三方框架的 Swift 框架。这两个其他框架都支持 Carthage 和 Cocoapods。
有什么方法可以让我自己的框架支持同时使用 Carhage 和 Cocoapods 安装吗?或者只是无法实现,我应该只选择一个吗?
你绝对可以让你的框架在 CocoaPods 和 Carthage 上可用。这是我推荐的路径,允许您的用户使用他们喜欢的任何解决方案。另请注意,设置框架以与 Carthage 一起使用还可以让想要在没有这些解决方案的情况下使用您的库的用户更加轻松。
在高层次上,对于 CocoaPods,您需要创建一个 podspec 以在其中列出您的依赖项。这样 CocoaPods 将管理下载和配置它们以及解决它们对其他用户依赖项的问题。查看更多 here.
对于 Carthage,您需要使用您支持的平台的框架目标配置您的项目,并在您的 Cartfile 中添加您的依赖项。更多相关信息 here
两者结合其实并不难。在我的框架中,我从包含 Example
和 Pod
目录的 CocoaPods 模板开始。在示例项目中,我创建了一个新的 Cocoa Touch Framework
目标,确保该目标是共享的(在产品 - 方案 - 托管方案中)并将我的 Pod/Classes
目录的内容拖到项目中(未选中 Copy items if needed
并仅将 Target Membership
添加到这个新创建的框架中)。
这应该够了,迦太基应该找到这个共享方案并使用它。请记住,在使用来自 Carthage 的框架之前,您必须提交更改并创建一个新的 git 标记。
我正在创建一个依赖于其他几个第三方框架的 Swift 框架。这两个其他框架都支持 Carthage 和 Cocoapods。
有什么方法可以让我自己的框架支持同时使用 Carhage 和 Cocoapods 安装吗?或者只是无法实现,我应该只选择一个吗?
你绝对可以让你的框架在 CocoaPods 和 Carthage 上可用。这是我推荐的路径,允许您的用户使用他们喜欢的任何解决方案。另请注意,设置框架以与 Carthage 一起使用还可以让想要在没有这些解决方案的情况下使用您的库的用户更加轻松。
在高层次上,对于 CocoaPods,您需要创建一个 podspec 以在其中列出您的依赖项。这样 CocoaPods 将管理下载和配置它们以及解决它们对其他用户依赖项的问题。查看更多 here.
对于 Carthage,您需要使用您支持的平台的框架目标配置您的项目,并在您的 Cartfile 中添加您的依赖项。更多相关信息 here
两者结合其实并不难。在我的框架中,我从包含 Example
和 Pod
目录的 CocoaPods 模板开始。在示例项目中,我创建了一个新的 Cocoa Touch Framework
目标,确保该目标是共享的(在产品 - 方案 - 托管方案中)并将我的 Pod/Classes
目录的内容拖到项目中(未选中 Copy items if needed
并仅将 Target Membership
添加到这个新创建的框架中)。
这应该够了,迦太基应该找到这个共享方案并使用它。请记住,在使用来自 Carthage 的框架之前,您必须提交更改并创建一个新的 git 标记。