发布框架作为通用Pod
Cocoapod是一个依赖管理器,其中包含数千个库。 创建通用库允许安装pod,而无需在podfile中指定存储库URL。 该博客介绍了从创建框架到公开发布pod所涉及的步骤。
创建通用Pod
1.创建框架
创建名称为“ SampleUniversalFramework”的框架。 按照以下链接创建框架。
https://medium.com/@sundareshj75/creating-a-private-ios-framework-in-swift-and-distributing-it-using-cocoapods-6ddb5cfab92f
注意
为了删除模拟器架构,请在应用程序目标的“ 构建阶段 ”中创建一个新的“ 运行脚本 阶段 ”,并将以下代码段粘贴到脚本文本字段中:
bash“ $ {BUILT_PRODUCTS_DIR} / $ {FRAMEWORKS_FOLDER_PATH} /SampleUniversalFramework.framework/strip-frameworks.sh”
2.创建存储库
在gitlab中创建一个名为“ SampleUniversalFramework”的公共存储库,并添加MIT许可。
3.在桌面上创建一个空文件夹。
4.启动终端并导航到上面创建的文件夹。
cd FOLDER_NAME
5.在文件夹内克隆在步骤2中创建的存储库。
git clone [PUBLIC_REPO_URL]
6.导航到您刚刚使用cd克隆的存储库。
cd sampleuniversalframework
7.将步骤1中创建的框架粘贴到当前目录中。
8.运行以下命令,创建一个包含LICENSE和框架的zip文件夹。
zip -r SampleUniversalFramework.zip许可SampleUniversalFramework.framework
运行以上命令后,请观察文件夹结构。
9.现在是时候将“ SampelUniversalFramework.zip”推送到在步骤2中创建的存储库了。
运行以下命令
9.1。 将SampleUniversalFramework.zip添加到暂存区域中,从而准备将它们包含在下一个git commit
。
git添加SampleUniversalFramework.zip
9.2使用git commit记录对存储库的更改。
git commit -m“创建和发布Universal Pod”
9.3现在让我们创建tag 。 Tag非常类似于不变的分支,它只是指向特定提交的指针。标记发布点(1.5.3、1.5.4等)非常有用。默认情况下, git tag
将创建HEAD
所引用的提交上的标记。
git标签1.5.3
9.4。 上面的命令不会将标签发送到远程存储库。我们需要使用以下命令将这些标签显式发送到远程服务器:
git push-标签
将内容推送到master或任何分支都是可选的。
git push origin master
10.使用以下命令创建一个名为’ SampleUniversalFramework ‘的podspec文件。
Podspec文件包含有关应从何处获取源,使用哪些文件,要应用的构建设置以及其他常规元数据(例如其名称,版本和说明)的详细信息。
播客规范创建SampleUniversalFramework
如果命令成功执行,则可以看到以下输出以及在当前目录中创建的podspec文件。
打开podspec文件,您会看到cocoapod已经为我们生成了pod spec模板。 现在,我们已经根据我们的要求对其进行了自定义。
11,编辑podspec
Pod :: Spec.new do | s |
s.name =“ SampleUniversalFramework”
s.version =“ 1.5.3”
s.summary =“样品盒”
s.description = <<-DESC
演示如何创建包含框架的通用pod
数据中心
s.homepage =“ https://gitlab.com/rakshitha_achar”
s.license = {:type =>“ MIT”,:file =>“ license”}
s.author = {“ USER_NAME” =>“ EMAIL_ADDRESS”}
s.ios.deployment_target ='8.0'
s.ios.vendored_frameworks ='SampleUniversalFramework.framework'
s.source = {:http =>'https://gitlab.com/rakshitha_achar/sampleuniversalframework/raw/1.5.3/SampleUniversalFramework.zip'}
s.exclude_files =“类/排除”
结束
确保that
- s.version与在步骤9.3中创建的标签匹配
- s.source应该指向gitlab存储库中zip文件夹所在的位置。
12.现在运行pod lib lint命令
豆荚皮棉
此命令将在本地对您的Pod进行检查,并且仅确保您正确提供了所有内容以创建Pod。 但这还不足以验证您的Pod,仅Pod spec Lint即可 。 —详细给出详细的输出,有助于在出现任何错误时进行调试。 所以运行这个命令
pod spec lint-详细
如果一切顺利,您将看到成功的验证消息。 👏👏👏
普遍发布Pod
- 注册会议
CocoaPods Trunk是一种身份验证和CocoaPods API服务。 要将新的或更新的库发布到CocoaPods公开发布,您需要在Trunk中注册并在当前设备上具有有效的Trunk会话。
吊舱中继寄存器EMAIL_ADDRESS USER_NAME
这会将验证邮件从Cocoapod发送到指定的EMAIL_ADDRESS。 打开邮件,然后单击链接以激活会话。
2. 公开播客
现在我们可以实际将吊舱推到行李箱了
吊舱主干推SampleUniversalFramework.podspec
这将更新规格库。 如果一切正常,您将在终端中看到祝贺消息,这表示您已经成功发布了自己的CocoaPod。
让我们在示例应用中进行测试
1.打开Xcode并创建一个“单视图应用程序”,然后将其关闭。
2.使用cd导航到包含应用程序的文件夹。
3.执行以下命令,创建一个默认的podfile
荚初始化
4.通过指定框架名称和可选的version(tag)编辑podfile。 当您有多个版本时,指定标签很有用。
#取消注释下一行以定义项目的全局平台
#platform:ios,'9.0'
目标'TestFrame'做
#如果您不使用Swift并且不想使用动态框架,请注释下一行
use_frameworks!
pod'SampleUniversalFramework'
#TestFrame的吊舱
结束
用吊舱名称指定版本
pod’SampleUniversalFramework’,’ VERSION ‘
5.在当前项目中安装Pod。
吊舱安装
6.打开.xcworkspace
7.添加带有框架名称的import语句,然后从viewDidLoad调用Logger.printHelloWorld()函数。
导入 UIKit
导入 SampleUniversalFramework
类 ViewController:UIViewController {
覆盖 func viewDidLoad(){
超级 .viewDidLoad()
Logger.printHelloWorld()
}
}
现在运行项目,您可以看到输出为“ Hello World!”。