企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] CocoaPods 不仅可以将开源代码添加到项目中,而且还可以跨项目共享组件。 您可以使用私人规格回购来执行此操作。 有几个步骤可以为您的项目获取专用 pod 设置; 为他们创建一个私有存储库,让 CocoaPods 知道在哪里找到它并将 podspecs 添加到存储库。 # 1. 创建流程 ## 1.1 创建一个私人 Spec Repo 要处理您的私人 pod 集合,我们建议您创建自己的 Spec 仓库。 这应该放在所有使用仓库的人都可以访问的位置。 你不需要分叉CocoaPods / Specs Master 仓库。 确保团队中的每个人都可以访问此仓库,但不需要公开。 ## 1.2 将您的私人仓库添加到您的 CocoaPods 安装中 ~~~ $ pod repo add REPO_NAME SOURCE_URL ~~~ 注意:如果您打算在本地创建 pod,则应该有权访问 SOURCE_URL 要检查您的安装是否成功并准备就绪: ~~~ $ cd ~/.cocoapods/repos/REPO_NAME $ pod repo lint . ~~~ ## 1.3 将 Podspec 添加到您的仓库 确保你已经正确标记和版本化你的源代码,然后运行: ~~~ $ pod repo push REPO_NAME SPEC_NAME.podspec ~~~ 这将运行 `pid spec lint`,并在您的私人仓库中关注设置规范的所有小细节。你的仓库结构应该反映这一点: ~~~ . ├── Specs └── [SPEC_NAME] └── [VERSION] └── [SPEC_NAME].podspec ~~~ ## 1.4 就是这样! 您的私有 Pod 已准备好在 Podfile 中使用。 您可以在 Podfile 中使用带有[ source 指令](https://guides.cocoapods.org/syntax/podfile.html#source)的 Specs 仓库,如以下示例所示: ~~~ source 'URL_TO_REPOSITORY' ~~~ # 2. 示例 ## 2.1 创建一个私有 Spec 仓库 ~~~ $ cd /opt/git $ mkdir Specs.git $ cd Specs.git $ git init --bare ~~~ > 本示例的其余部分使用 https://github.com/artsy/Specs 上的仓库 > ## 2.2 将您的私人仓库添加到您的 CocoaPods 安装中 在你的服务器上使用你的仓库的 URL,添加你的仓库通过: ~~~ $ pod repo add artsy-specs git@github:artsy/Specs.git ~~~ 检查您的安装是否成功并准备好: ~~~ $ cd ~/.cocoapods/repos/artsy-specs $ pod repo lint . ~~~ ## 2.3 将 Podspec 添加到您的仓库 创建 Podspec ~~~ cd ~/Desktop touch Artsy+OSSUIFonts.podspec ~~~ Artsy + OSSUIFonts.podspec 应该在您选择的文本编辑器中打开。 典型的内容是 ~~~ Pod::Spec.new do |s| s.name = "Artsy+OSSUIFonts" s.version = "1.1.1" s.summary = "The open source fonts for Artsy apps + UIFont categories." s.homepage = "https://github.com/artsy/Artsy-OSSUIFonts" s.license = 'Code is MIT, then custom font licenses.' s.author = { "Orta" => "orta.therox@gmail.com" } s.source = { :git => "https://github.com/artsy/Artsy-OSSUIFonts.git", :tag => s.version } s.social_media_url = 'https://twitter.com/artsy' s.platform = :ios, '7.0' s.requires_arc = true s.source_files = 'Pod/Classes' s.resources = 'Pod/Assets/*' s.frameworks = 'UIKit', 'CoreText' s.module_name = 'Artsy_UIFonts' end ~~~ 保存您的 Podspec 并添加到仓库: ~~~ pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec ~~~ 假设您的 Podspec 有效,它将被添加到仓库。 仓库现在看起来像这样 ~~~ . ├── Specs └── Artsy+OSSUIFonts └── 1.1.1 └── Artsy+OSSUIFonts.podspec ~~~ 有关如何包含 repo URL 的示例,请参阅此 [Podfile](https://github.com/artsy/eigen/blob/master/Podfile)。 # 3. 如何删除私人仓库 ~~~ pod repo remove [name] ~~~ # 4. 外部资源 * [Using CocoaPods to Modularise a Big iOS App by @aroldan](http://dev.hubspot.com/blog/architecting-a-large-ios-app-with-cocoapods)