近期整理之前的项目,需要将很多之前封装的代码整理,cocoapods是我常用的项目依赖管理工具,在制作pod库时遇到很多问题,整理如下:
-
在 Xcode 中创建一个新工程,选择使用 single view 模版。将工程命名为 BluetoothManager。项目创建之后,添加Souurce文件夹并在该文件夹下添加一个同名的 Swift 文件 BluetoothManager.swift,并添加代码。
-
在GitHub上创建同名仓库
-
打开终端,跳转到工程目录
-
初始化git: git init
-
将所有已修改文件添加到git暂存区:git add .
-
提交该工程已修改文件
-
添加一个远程库:git remote add origin <paste your URL here>
-
推送到远程分支:git push -u origin master
-
在GitHub对应项目中创建一个release,一个release对应产品的一个新版本
接下来就可以开始创建自己的pod了:
- 首先,我们需要确保已经安装 CocoaPods,并做好在终端使用它的准备。动手吧,打开终端,运行以下命令:
sudo gem install cocoapods --pre
现在 CocoaPods 已经安装完成,下一步轮到创建 Pod 了。
- 创建 Podspec
所有 Pods 都拥有一个 podspec 文件。podspec,顾名思义,用于定义 Pod 规范!让我们动手创建一个:
- 打开终端,进入项目根目录。
运行touch BluetoothManager.podspec命令以创建文件。
- 将以下代码粘贴到 Podspec 文件中
Pod::Spec.new do |s|
s.name = 'BluetoothManager'
s.version = '1.0.2'
s.summary = 'A BluetoothManager for Swift'
s.description = <<-DESC
一个基于CoreBlueTooth的swift的蓝牙管理库
DESC
s.homepage = 'https://github.com/zidong0822/BluetoothManager'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { '<Harvey>' => '<zidongchn@gmail.com>' }
s.source = { :git => 'https://github.com/zidong0822/BluetoothManager.git', :tag => s.version.to_s }
s.ios.deployment_target = '9.0'
s.source_files = "BluetoothManager/Source/*"
end
s 后面的这些变量都是 CocoaPods 需要的,提供像是名字,版本,概要,描述,仓库,源代码文件等必要信息。
下面介绍几个需要注意的重要变量:
-
s.name – 显而易见,他人使用时可以通过该名字将 Pod 添加到项目中。
-
s.version – 这是你 Pod 的版本。务必注意,它得和 Github release 的版本号相同。如果两者不匹配,就会报错。
-
s.summary 和 s.description – 这两个变量最终会显示在 Cocoapods 页面上。请确保 description 比 summary 更长,否则将会报错。
-
s.homepage – 这是 Pod 源代码的 URL。注意将 YOUR GITHUB USERNAME 替换为你的用户名哟。
-
s.author – 开发者信息,注意替换相应内容。
-
s.source_files – 这是最重要的参数。它会告诉 CocoaPods 应该克隆哪些文件。我需要将source下的文件被克隆,所以将source_files变量设置为BluetoothManager/Source/*
星号 * 表示包含任意文件。当星号位于文件类型前时,表明包括所有该类型的文件。
用 Lint 验证项目
CocoaPods 需要验证项目有没有错误,这包含对错误甚至可疑代码的限制和要求。也就是说在发布项目之前 CocoaPods 要求你 lint 你的项目。
lint 一个项目十分简单,但是绝对是难以置信的麻烦!为了 lint 你的项目,请在项目目录下执行以下命令:
pod lib lint
发布你的 Pod
创建 Trunk 账号
确切地说,Trunk 并不是一个账号;是一个会话。所以从根本上来说并不需要密码的存在,需要的仅仅是一个邮箱。
创建流程非常简单:
pod trunk register <Your Email>
你应该很快就会受到一封来自 CocoaPods 的邮件以验证你发起的“会话”。点击邮件提供的链接,完成你的账号验证。之后 CocoaPods 将会给你发来友好的欢迎信息:好棒,设置完成!
推送你的 Pod
到这一步,就只剩下用 Trunk 将你的 podspec 推送到 CocoaPods 了:
pod trunk push BluetoothManager.podspec
网友评论