CocoaPods 公共/私有

公共pod流程

第一步

在github上創建一個項目例如:podDemo,把地址clone到本地,在本地的podDemo文件下新建一個iOS項目,再把項目上傳到github

第二步

打開終端進入項目地址,輸入pod spec create xxx

圖1

如圖1,本地生成一個xxx.podspec文件,如圖2,這個文件是用來為CocoaPods配置信息

圖2


第三步

配置xxx.podspec文件

圖3

如圖3,是一些基本的信息(以下是部分的解釋)

name 是pod導入時候查詢的名稱,類似‘AFNetworking’

version 版本號

license 最好提供一個license文件,不然有些奇特的坑

source_files 開源的文件配置,這里取 項目名稱/Classes/所有文件

第四步

本地驗證,輸入 pod lib lint

圖4

圖4表示驗證通過了,否則會出現各種報錯信息

第五步

網絡驗證,輸入pod spec lint

圖5

如圖5,出現了一個錯誤,讀不到LICENSE文件,在文件中前往到地址Library/Caches/CocoaPods/Pods/External ,有類似 c2647c78b608c98aa2b54d4c64af29f9-05735 的文件夾下,找到自己的項目,復制一個LICENSE文件進去(我在其他項目中copy了一個LICENSE文件),創建目錄結構,如圖6


圖6

然后在驗證一次 ,如圖7,表示驗證通過了

圖7

第六步

驗證通過后可以打tag

git tag -m “desc” “0.0.1”

git push —tag

提交到CocoaPods需要一個CocoaPods的賬號,在終端輸入 pod trunk register 郵箱 ‘昵稱’ --description=‘描述’,郵箱驗證后就可以上傳自己的開源框架到CocoaPods了

第七步

上傳到CocoaPods,輸入 pod trunk push xxx.podspec,等CocoaPods審核,幾秒或者幾分鐘就完成了

成功后搜索一下,pod search,找不到就pod setup 后在search一下

參考文檔

http://www.lxweimin.com/p/d7d1942dd3f1

http://www.cnblogs.com/wengzilin/p/4742530.html

私有pod流程

具體流程跟公共流程大致相同,只是從第6步開始,上傳的位置是本地的服務器,需要一個本地的地址 ,如圖8

pod repo add KMLibssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git

pod repo add 本地庫名 git地址

會在.cocoapods/repos 下生成一個 本地庫名

圖8

然后向這個庫里添加私有框架

pod repo push KMLib KMLibDemo.podspec

成功后如圖9

圖9

然后在服務器回生成版本的文件夾,更新到本地就OK了

開源庫在本地服務器的項目結構,圖10

圖10

配置時,可以通過pod 'KMLibDemo', :git => 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git' 引入到項目中

本地引入測試時可以用

#pod 'KMLibDemo', :podspec => /Users/lyym/.cocoapods/repos/KMLib/KMLibDemo/0.0.1/KMLibDemo.podspec''

#pod 'KMLibDemo', :podspec => /Users/lyym/Desktop/km_ios_lib_source/KMLibDemo/0.0.1/KMLibDemo.podspec''

一般本地測試成功,網絡就是可用的

坑點

xxx.podspec 文件在git下載后的一級目錄,否則 pod install 時會報錯

[!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.

我使用網上提到的引用方式時是不成功的

source 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git'

pod 'KMLibDemo', '0.0.1'

提示

[!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.

也不知道為何了

參考文檔

http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E9%85%8D%E7%BD%AE%E7%A7%81%E6%9C%89%E5%BA%93/

http://www.cnblogs.com/xiaoshuailong/p/5149001.html

http://www.cocoachina.com/ios/20150228/11206.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容