如何在Swift中创建私有CocoaPods

CocoaPods是Swift和Objective-C Cocoa项目的依赖项管理器。 CocoaPods可以帮助我们优雅地扩展项目。 可以使用CocoaPod开发出色的库,只需运行一个命令即可轻松将其集成到项目中。 在这里,我们将讨论如何创建我们自己的CocoaPod(恰好是一个私人吊舱)。

先决条件:

  • Xcode 9.3和Swift 4.1
  • 安装在机器上的CocoaPods

让我们逐步开始创建我们的私人吊舱。

步骤1:建立广告连播

要创建和验证Pod,我们将使用pod lib命令。 因此,让我们开发一个String的简单扩展(还有更多),这将使几个字符串函数变得很方便。 让我们将此吊舱命名为HandyExtensions

使用以下命令创建一个Pod,该Pod将下载模板并简化我们的工作。

  pod lib创建HandyExtensions 

运行以上命令将提示您回答一些问题,例如平台,编程语言,所需的演示应用程序等。

Pod模板将被下载。 导航到Example文件夹,然后打开HandyExtensions.xcworkspace并使用所有相关信息编辑podspec文件(在Podspec Metadata文件夹下)。 摘要,描述,源和依赖项(如果适用)是您要记住的几件事。 默认情况下,源将显示为

  s.source = {:git =>'https://github.com/sagardesai16/HandyExtensions.git',:tag => s.version.to_s} 

我们将必须将源更新为我们的私人仓库网址。 我更喜欢使用BitBucket。

  s.source = {:git =>'https://abc@bitbucket.org/abc/handyextensions.git',:tag => s.version.to_s} 

重要提示:

  • 确保根据库的要求更新deploy_target。
  • 如果您打算在Pod库中使用资产(png),则必须取消注释resource_bundles
  s.resource_bundles = {'HandyExtensions'=> ['HandyExtensions / Assets / *。png']} 

步骤2:验证podspec

由于我们已更新podspec文件中的所有相关信息。 让我们验证podspec文件并检查一切是否正常。 打开终端并转到您的podspec文件所在的目录,然后执行以下命令:

 豆荚皮棉 

它显示错误并要求添加一个快速版本文件,只需在终端中执行`echo “4.1” > .swift-version` ,并确保使用适当的版本来开发该库。

重要提示:

  • 如果您倾向于收到某些警告,则仍可以通过运行以下命令来继续进行警告
 豆荚皮棉--allow-warnings 

验证将通过!

第三步:实现逻辑/开发库

从development pods文件夹中删除ReplaceMe.swift并创建一个名为StringExtension.swift的新文件

您可以通过从ViewController.swift调用函数来对其进行测试 确保在ViewController.swift文件中导入“ HandyExtension”。

步骤4:让您的图书馆上线

  git添加 
git commit -m“初始提交”
git remote add origin https://abc@bitbucket.org/abc/handyextensions.git
git标签0.1.0
git push origin 0.1.0

规范存储库不包含Pod的源文件。 您可以浏览GitHub上的CocoaPods主规格存储库。 但是,如果您的计算机上安装了CocoaPods,则您的计算机上已经存在一个主规格库的副本。

在安装过程中,CocoaPods将主规格存储库克隆到您的主文件夹中,当我们运行pod install ,将在引用规格库中的信息后pod install库。

我们必须建立自己的私有规范存储库以保留.podspec.podspec.json文件 我们的私人豆荚。 为此,我在bitbucket上创建了另一个名为vikpods的存储库,现在将podspec文件推送到vikpods存储库。

首先,我们需要通知CocoaPods我们的私有规格仓库(vikpods) ,我们可以通过从终端执行以下命令来做到这一点

pod repo add HandyExtensionshttps://abc@bitbucket.org/abc/handyextensions.git

现在让我们将podspec推送到HandyExtensions

pod repo push HandyExtensions.podspec — allow-warnings

现在,您的库已准备好集成到任何项目中。 做得好!!!

步骤5:使用您自己的私人广告连播

要在项目中使用任何私有pod,必须在podfile中编写源路径。 为了使用HandyExtensions,假设项目目标名称为Test,您的pod文件应如下图所示

 平台:ios,“ 10.0” 
来源'https://github.com/CocoaPods/Specs.git'
来源'https://abc@bitbucket.org/abc/HandyExtensions.git'
 目标“测试” 
use_frameworks!
 播客“ HandyExtensions” 
 结束 

现在只需运行pod install可以了。

步骤6:更新资料库

假设我们需要向吊舱添加更多功能。 为此,我们必须上传pod的新版本。 在编写了新功能的代码之后,只需更改podspec文件中的版本行,并在将其推送到git时将其版本保持与tag相同。

所以现在版本行将是:

  s.version ='0.1.1' 

对于将其推送到git,请使用以下命令

  git添加 
git commit -m“添加了新的扩展”
git标签0.1.1
git push origin 0.1.1

参考文献

我在这篇文章中使用的一些参考文献是

  1. https://guides.cocoapods.org/using/using-cocoapods.html
  2. 技术讲座台