创建私人可可荚的初学者指南

重用代码的好处是显而易见的。 对于您构建的每个应用程序,您都可以[可能]重用之前为该应用程序创建的通用代码。 这样可以节省时间,改善程序的功能,并通常使程序更具成本效益。 随着库的增长,为更复杂的应用程序放置框架变得越来越容易,这需要更少的工作。 但是,需要一个适当的过程来维护和更新可重复使用的代码,以便整个团队都可以使用它。 使用可可豆荚可以轻松实现这一点,可可豆荚可以为创建私人豆荚提供支持。

这是实现它的分步指南。

继续前进之前,请确保已在系统上安装了可可豆荚。 [按照此 链接 开始使用系统上的椰壳足纲动物]

我用过bitbucket 这使我们可以创建私有存储库来维护本指南中的代码库。

为了使事情井井有条,我们将首先在bitbucket中创建一个名为POD_BASE的项目,并将所有存储库添加到其中。 这是在bitbucket中创建项目的链接。

在POD_BASE项目内部创建2个私有仓库。

  • 首先,持有podspec [此后称为此POD_SPEC_REPO ]
  • 第二,持有我们希望在整个团队中共享的可重用组件(此后称为POD1_REPO )。

这是在bitbucket中创建回购协议的链接。

注意:以上回购名称是通用名称。 在bitbucket中为本文目的创建的实际存储库的名称为BannerSpec [POD_SPEC_REPO]和BannerPod [POD1_REPO]。

从终端运行以下命令:

pod repo add POD_SPEC_REPO [POD_SPEC_REPO_URL]

  • POD_SPEC_REPO是规范回购名称
  • POD_SPEC_REPO_URL是存储库的位桶URL。 [https://bitbucket.org/ / .git]

您可以运行上面的命令而不必担心当前目录。 但是,在运行上述命令之前导航到spec repo目录,让您跟踪所有已添加的spec repo。

要导航到cocoapods spec repo目录,请运行:

cd ~/.cocoapods/repos/

这是您所有本地podspec存储库所在的地方。

成功添加规格仓库后,您可以通过运行以下命令来对其进行验证:

  cd SPEC_REPO_NAME / 
豆荚皮棉。

〜〜..cocoapods / repos /目录中的 仓库 是可可荚的公共podspec回购。

克隆您在步骤1中创建的POD1_REPO。

git clone https://bitbucket.org//.git

打开终端,导航到您刚刚克隆的POD1_REPO目录。

要生成Pod,请站在pod1目录中运行以下命令。

pod lib create [POD1_NAME]

  • 其中[POD1_NAME]是您正在创建并要在组织内共享的窗格的名称。

一旦运行上述命令,系统将提示您一系列与POD设置有关的问题。 回答所有问题后,cocoapod将在示例项目上运行“ pod install”,前提是您回答“是”,以包括一个演示应用程序。

完成此命令后, .workspace项目将自动打开。 如果没有打开工作空间,则可以导航到项目存储库中的Example文件夹,然后打开 .xcworkspace。

pod lib create命令还使用默认的pod模板添加了一个.git文件进行源代码管理。 结果,我们的项目中将有2个.git文件。 继续并删除Pod [即ZBanner内部]文件夹内的.git文件,以使整个代码位于我们在步骤1中创建的POD1_REPO之下。

要从“ ZBanner /”文件夹中删除git跟踪,请运行:

rm -rf .git

另外,让我们重新组织文件夹结构,以使.podspec和.git文件位于同一文件夹下(附加屏幕截图:3.6 / 3.7)。

打开已创建的podspec文件。 值得庆幸的是,Cocoapod为我们生成了一个完善的pod规范模板。

Podspec文件或Spec描述了Pod库的版本。 它包括有关源文件的位置,要使用的文件,要应用的构建设置,依赖项,所使用的框架以及其他常规元数据(例如Pod的名称,版本和说明)的详细信息。

以下是cocoapod为我们的私人吊舱生成的Podspec:

现在,再次打开终端并转到.podspec文件所在的文件夹,然后运行以下命令,而无需更改.podspec文件中的任何内容。

pod lib lint .podspec

执行此操作时,您可能会看到以下输出。

如果您确实看到屏幕截图中显示的错误,则意味着我们必须更正我们的规范文件。 进行以下更改:

  • 添加摘要和描述。 “说明”的长度应比“摘要”的长度长,否则在整理时会引发错误。
  • 默认情况下,spec’source’和’homepage’值将设置为github URL。 将此更改为您的位桶URL。
  • 为了将验证器设置为使用swift-4,请添加以下行:
  s.platform =:ios,“ 9.0” s.pod_target_xcconfig = {'SWIFT_VERSION'=>'4.0'} `echo“ 4.0”> .swift-version` 

更新的podspec文件:

现在,再次运行pod lib lint .podspec命令。

这次您将看到命令成功,并且您的输出将如下所示:

一切与podspec文件。 现在,将可共享代码添加到POD。

您会在POD [ZBanner]内的“ Classes”文件夹中找到ReplaceMe.swift文件。 导航到此“ Classes”文件夹,然后删除ReplaceMe.swift文件。

将要在团队中共享的组件代码[在本例中为BannerView文件夹] 拖放到Classes文件夹内。

注意:如果没有要添加的资产,请删除“资产”文件夹。

现在,我们要在创建的示例项目中测试这些文件。 为了这,

  • 导航到仓库内的Example文件夹
  • 终端运行pod install

这会将文件安装在示例项目中。

在示例项目中测试可共享的代码。 一旦完成测试,就可以推送代码了。

现在,您已经构建并测试了Pod,是时候将其部署到您的私有bitbucket存储库中了。

要将共享代码推送到POD1_REPO中,请启动终端并运行以下命令:

  -在系统[cd /../../BannerPod]中导航到POD1_REPO -git add。  -git commit -m“ ” -git push origin master 

标记:

用规范文件中指定的版本号标记上一次提交。

  -git 标签' 0.0.1'-git push --tags 

在实际将POD推送到规格仓库之前,您首先需要运行以下命令:

pod spec lint .podspec

这将验证您刚刚推送的bitbucket中的规范是否正确。 您可以在此处阅读pod lib lintpod spec lint之间的区别。

如果pod spec lint命令成功执行,则可以将pod推送到spec仓库。

运行以下命令将POD发送到您在步骤1中创建的私有Podspec存储库中。

pod repo push [POD_SPEC_REPO] [POD1_NAME].podspec

就是这样! 您的团队可以按照步骤7使用您在任何项目中刚刚创建的组件。

在您的Xcode项目的podfile中,在顶部指定您的私有规范仓库的URL。

注意:如果要安装其他公共Pod,则还需要添加Cocoa-Pod公共spec仓库的URL。

完成此操作后,只需指定要使用的Pod名称,然后从podfile目录中使用Terminal运行Terminal 安装

附加信息:

1.自定义模板

如果您在运行pod lib create之后仔细查看日志,您会注意到我们尝试创建的pod使用的是此处指定的默认模板。

要指定自己的pod模板使用,

pod lib create --template-url=URL

  • 其中URL是包含兼容模板的git repo。

2.项目结构

您只需创建一次POD_SPEC_REPO。 您可以将多个吊舱的吊舱规格推到同一POD_SPEC_REPO上。

但是,每个吊舱都有自己的私人仓库!