首先說點(diǎn)什么呢, 開發(fā)的久了, 一直都是用 cocoapods 來管理和引用第三方庫(kù), 有時(shí)候也想把自己寫的庫(kù)放在上面, 方便別人也方便自己, 哈哈哈現(xiàn)在就來看下 如何自己的框架支持 cocoapods
1. 在 github 上創(chuàng)建新的項(xiàng)目
要注意 LICENSE 和 README.md
LICENSE 是必須的, readme.md 可選
新創(chuàng)建倉(cāng)庫(kù) 如圖所示 :
2. clone 到本地
git clone https://github.com/wxm6099/SEWeChatTool
拉回來后的目錄結(jié)構(gòu) 如圖 :
3. 放入自己的庫(kù)和 demo
git add SEWeChatTool
git add SEWeChatToolDemo
git commit -m 'add SEWeChatTool and SEWeChatToolDemo'
git push
注意 : 要打 tag, cocoapods 那邊使用 tag 來區(qū)分release版本的,
git tag 0.1
git push --tags
4. 創(chuàng)建并編輯 podspec 文件
pod spec create SEWeChatTool.podspec
Pod::Spec.new do |s|
s.name = "SEWeChatTool"
s.version = "0.1"
s.summary = "A simple tool to use WeChatSDK"
#s.description = <<-DESC
# DESC
s.homepage = "https://github.com/wxm6099/SEWeChatTool"
s.license = "MIT"
s.author = { "609974309@qq.com" => "609974309@qq.com" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/wxm6099/SEWeChatTool.git", :tag => "0.1" }
s.source_files = "SEWeChatTool/*.{h,m}"
s.dependency "WechatOpenSDK"
注意 : 這就是大概必須的字段了, 非常簡(jiǎn)潔易懂, 主要說明幾個(gè)(都是我趟過的坑)
- 4.1 這里的 description 書寫 需要一點(diǎn)格式, 具體是下面這樣:
s.description = <<-DESC
easy to use WeChat SDK tools.
DESC
- 4.2 這里的 source_file 書寫, 需要依據(jù)你的目錄結(jié)構(gòu) :
默認(rèn)是s.source_files = "Classes/**/*.{h,m}"
首先
** 是匹配所有目錄
,
* 匹配文件
,
.{h,m} 匹配后綴是 .h 或 .m 的文件
然后 Classes 須和 podspec 同級(jí)的存放你的庫(kù)文件的目錄, 這里 我存放庫(kù)文件的目錄 是 SEWeChatTool, 且里面已經(jīng)是.h & .m的文件, 即我的 s.source_files = "SEWeChatTool/*.{h,m}"
, 若你的目錄下還有很多子目錄比如 util, tool, 可以寫成
s.source_files = "Classes/util/*.{h,m}"
s.source_files = "Classes/tool/*.{h,m}"
或者是
s.source_files = "Classes/**/*.{h,m}"
5. 驗(yàn)證 podspec 文件
pod spec lint SEWeChatTool.podspec
注 : 這里按情況 可加一些參數(shù)
--verbose 打印錯(cuò)誤信息
--allow-warnings 允許警告
--use-libraries 允許使用靜態(tài)庫(kù)
然后驗(yàn)證通過, 如圖所示 :
6. 提交 github 平臺(tái)
驗(yàn)證通過后, 需要將本地的改動(dòng), 提交至云端.
git commit -am ‘correct a content in SEWeChatTool.podspec’
git push --all
7. 發(fā)布到 cocoapods
注 : 如果你沒注冊(cè)過trunk, 需要先注冊(cè)
pod trunk me
如果沒有注冊(cè)信息, 那就注冊(cè)一個(gè)吧
pod trunk register 609974309@qq.com "sense" --verbose
萬事俱備, 接下來直接發(fā)布到 cocoapods
pod trunk push SEWeChatTool.podspec
因?yàn)槲疫@里有引用的 微信的 openSDK, 微信的 sdk 中有.a 文件, 即
pod trunk push SEWeChatTool.podspec --allow-warnings --use-libraries
發(fā)布成功, 如圖所示 :
成功之后就能 搜索一下自己的成果啦
pod search SEWeChatTool
注意 : cocoapods 需要一些處理時(shí)間, 可以去 cocoapods 官網(wǎng)去查看自己的庫(kù)
若官網(wǎng)可以搜索到自己的庫(kù), 但pod search 或 pod install 還是報(bào)錯(cuò)找不到文件, 可以 先 pod update 更新 pod
這就是讓自己的庫(kù) 支持 cocoapods 大致過程, 想查看工程, 這里就是 SEWeChatTool