创建私人可可荚的初学者指南
重用代码的好处是显而易见的。 对于您构建的每个应用程序,您都可以[可能]重用之前为该应用程序创建的通用代码。 这样可以节省时间,改善程序的功能,并通常使程序更具成本效益。 随着库的增长,为更复杂的应用程序放置框架变得越来越容易,这需要更少的工作。 但是,需要一个适当的过程来维护和更新可重复使用的代码,以便整个团队都可以使用它。 使用可可豆荚可以轻松实现这一点,可可豆荚可以为创建私人豆荚提供支持。
这是实现它的分步指南。
继续前进之前,请确保已在系统上安装了可可豆荚。 [按照此 链接 开始使用系统上的椰壳足纲动物]
我用过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 lint
和pod 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上。
但是,每个吊舱都有自己的私人仓库!