- 创建pod模板项目
pod lib create NAME
image - 编辑 podspec 文件
CocoaPods 系列之三 Podspec 语法说明
1️⃣ 包含mrc文件解决方式
non_arc_files = 'ALACommonComponent/Classes/Third/GTMBase/*.{h,m}'
s.exclude_files = non_arc_files
s.subspec 'no-arc' do |sna|
sna.requires_arc = false
sna.source_files = non_arc_files
end
2️⃣ source
字段填写git地址,只能使用http/https
3️⃣ 如果依赖了其他pod库,若其他pod库使用了.a/.framework 则设置s.static_framework = true
4️⃣ 如果项目直接引用了.a/.framework, 则分别设置 vendored_frameworks
和vendored_libraries
- 创建git远程仓库保存pod项目,并且关联本地仓库
$ git status
$ git add .
$ git commit -m '编辑spec文件'
$ git remote add origin git_address (将本地库与远程代码仓库进行关联)
$ git push origin master (提交到远程仓库)
这里也可以利用Sourcetree来完成,主要目的是利用远程仓库保存pod项目
以上三步创建了pod工程,并进行git托管,接下来进行pod工程的发布
一、私有库
- 在git托管平台创建远程仓库用来保存私有索引文件
- 创建本地的私有索引库文件夹,并与远程私有索引库进行关联
pod repo add NAME 索引文件git地址
- 将podspec文件提交到本地的私有索引库
pod lib lint --allow-warnings --verbose
验证
pod repo push 索引库文件夹名字 .podspec文件 --allow-warnings --verbose
发布
二、公开库
- 注册trunk
pod trunk register zilin_weng@163.com 'weng1250' --verbose
邮箱以及用户名请对号入座。用户名我使用的是Github上的用户名。--verbose参数是为了便于输出注册过程中的调试信息。执行上面的语句后,你的邮箱将会受到一封带有验证链接的邮件,如果没有请去垃圾箱找找,有可能被屏蔽了。点击邮件的链接就完成了trunk注册流程。使用下面的命令可以向trunk服务器查询自己的注册信息: -
pod trunk me
查看注册结果 - 将podspec文件提交到trunk
pod trunk push .podspec文件
podspec中的版本号要与源码库git中的tag值保持一致,若更新podspec,一定要更新git的tag
三、常见问题解决
- --verbose:打印详细的流程
- --allow-warnings:允许warnings存在,不添加此项会导致只要有warning就会编译不通过
- --skip-import-validation Lint skips validating that the pod can be imported/skip linking a pod during lint
- --use-libraries :If it needs to be a static library, lint with --use-libraries./ pod trunk push has the --use-libraries flag.参考