上传第三方库到cocoapods

发表于 - 3 分钟   |   --

1.1 在GitHub创建项目

设置完成后直接克隆到本地,并将工程代码复制进该文件夹

1.2 创建podspec文件

1.2.1 通过终端进克隆到本地的文件夹

cd xxx

1.2.2 创建podspec文件

pod spec create xxx

1.2.3 配置podspec文件

@version = "0.0.1"
Pod::Spec.new do |s|
s.name = "MCircleBoard"
s.version = @version
s.summary = "MCircleBoard"
s.description = "MCircleBoard is a dash board."
s.homepage = "https://github.com/MichaelLynx/MCircleBoard"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "xxx" => "xxxx@xx.com" }
s.platform = :ios
s.ios.deployment_target = "8.0"
s.source = { :git => "https://github.com/MichaelLynx/MCircleBoard.git", :tag => "v#{s.version}" }
s.source_files = "Code/*.swift"
s.resources = ["Code/*.xcassets"]
s.swift_version = "4.0"
s.requires_arc = true
s.framework = "UIKit"

end

spec里添加资源:

spec.resource = 'Code/MCircleBoardIcon.bundle'
spec.resources = ['Images/*.png', 'Sounds/*']
spec.resource_bundles = {
    'YourBundleName' => ['MapView/Map/Resources/*.png'],
    'OtherResources' => ['MapView/Map/OtherResources/*.png']
  }

bundle内图片的调用方式:

var bundle = Bundle(for: theClass.self)
if let resoucePath = bundle.path(forResource: "bundleName", ofType: "bundle"), let resouceBundle = Bundle(path: resoucePath) {
    bundle = resouceBundle
}
let image = UIImage(named: imageName, in: bundle, compatibleWith: nil) ?? UIImage()

podspec字段说明:

字段 作用
name 库的名称
version 版本号,该号一定要和GitHub上的对应,参见下面的步骤
summary 该库的一个简介
homepage 这个库的主页,对应Github上的地址
license 采用何种license,和创建GitHub时候选择的那个要对应
author 作者
deployment_target 可以使用该库的iOS的最低版本
source 数据源,对应的是你clone的时候使用的那个HTTPS的链接地址
source_files 哪些文件是要上传到pods的
requires_arc 是否在ARC环境下使用
dependency 该库还引用了哪些第三方库

1.3 GitHub上创建发布版本

1.4 注册Trunk账号及上传项目

1.4.1 注册cocoapods账号

如果已经注册成功账号,则这步跳过

在终端输入指令:

pod trunk register 邮箱地址 '用户名' description='描述信息'

pod trunk register 邮箱地址 '用户名'  --verbose

验证成功后在终端输入以下命令确认是否注册成功

pod trunk me

1.4.2 验证podspec文件

如果确认podspec文件没问题则可以不进行验证

如果配置得正确,则输入验证命令后会提示:passed validation.

podspec文件配置完成之后可以在终端输入指令进行验证

pod spec lint XXX.podspec

1.4.3 上传cocoapods

输入以下指令将代码上传到cocoapods:

pod trunk push

如果之前验证的结果里有warning,则可以用--allow-warnings忽略警告:

pod trunk push --allow-warnings

完成后出现Tell your friends字样则证明上传完毕,可以通过pod search XXX指令来验证是否上传成功。

如果没搜索出来则可以通过pod repo update更新本地的pod库,然后再进行搜索。

如果事先已经下载了旧版的库,可以直接cd到该工程,并pod update 第三方库名,哪怕暂时无法搜索出来,pod update依然可以有效将其更新到最新版本。

自己上传的第三方库,欢迎点个star:MCircleBoard

参考链接

iOS开发之将自己的项目上传到Cocoapods

将自己写的库上传到cocoapods(2015)

Michael Lynx

Michael Lynx

三反昼夜

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin pinterest medium vimeo stackoverflow reddit quora quora