iOS開發(fā)中的SDK大多數(shù)都依賴
cocoapods
來管理,本篇講解如何創(chuàng)建一個最簡單的pod
庫,并上傳至cocoapods
1.創(chuàng)建
pod lib create YSTPayKit
1.1創(chuàng)建過程中會提示初始化配置
使用什么語言,這里使用ObjC
What language do you want to use?? [ Swift / ObjC ]
> ObjC
是否引入一個demo工程,通常選擇是
,一方面是方便測試,一方面將來提供給其他開發(fā)者也能方便他人學(xué)習(xí)如何使用這個庫
Would you like to include a demo application with your library? [ Yes / No ]
> Yes
選擇哪個測試框架,我這里不需要就None
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None
我不要基于視圖的測試就No
Would you like to do view based testing? [ Yes / No ]
> No
輸入你的前綴,這個前綴是用在測試demo
中的,不能為空,我這里就用了MR
,寫一個自己喜歡的就好
What is your class prefix?
> MR
2.工程結(jié)構(gòu)
Example for YSTPayKit
就是demo工程,和一個普通iOS工程一樣,就是文件名多了前綴
pods
中就是各種三方庫,其中自己要開發(fā)的就在Development Pods
中,自己的代碼也寫在這里
配置文件.podspec
非常重要!非常重要!非常重要!
整個庫的配置都在里頭,配置內(nèi)容講解篇幅較大
詳情請看podspec配置詳解
3.發(fā)布SDK
發(fā)布SDK的本質(zhì)是把podspec這個文件發(fā)布到cocopods上,前提是要通過編譯檢查.
- 注冊,建議科學(xué)上網(wǎng),不然可能注冊失敗
pod trunk register yourEmail "name"
- 如果已經(jīng)注冊過可以查看自己的信息
pod trunk me
可以看到自己的名字,郵箱,已經(jīng)屬于自己的Pods和之前的登陸IP
- 驗證
pod lib lint
- 驗證包括podspec的內(nèi)容,代碼編譯通過.編譯通過的要求是不能有
Error
,但是可以允許有Warnings
.注意的是Xcode能編譯過這里不一定可以.
查看驗證與編譯時的詳細內(nèi)容--verbose
pod lib lint --verbose
有幾個常見的
lib lint
錯誤解決辦法,其他的就自己google吧-
提示有warnings, 基本上稍微復(fù)雜些的SDK肯定會有warnings
image.png
解決辦法就是加上--allow-warnings
pod lib lint --allow-warnings
- 提示swift版本錯誤
解決辦法就是加上swift指定版本例如--swift-version=3.0
pod lib lint --swift-version=3.0
提示tag未找到或者發(fā)現(xiàn)編譯檢查的代碼和自己最新的代碼不一致時
查看倉庫的tag好是否已經(jīng)打上,檢查podsepc
中的tag
和倉庫的tag
是否一致一切都沒問題后就提交吧
需要注意的是,之前pod lib lint
加上的參數(shù)這里也要全部加上
比如--swift-version=3.0 --allow-warnings
pod trunk push
發(fā)布成后出現(xiàn)如圖所示的字樣
- 搜一下自己的SDK
上傳成功之后應(yīng)該就可以搜到自己的庫了,如果搜不到就pod setup
更新一下自己的本地庫
image.png
- 有時候搜不到可以嘗試加上
--simple
試一試
最后放上demo地址MQL9011/SDK_Fun
SDK開發(fā)「二」何使用切圖等資源