一. 創(chuàng)建制作framework庫的工程,并進(jìn)行相關(guān)參數(shù)配置.
1.新建工程,選擇Cocoa Touch Framework.
2.進(jìn)入創(chuàng)建好的工程,講自帶的工程同名文件刪除,添加自己的類文件
3.TARGETS -->Build Settings,設(shè)置相關(guān)項.
(1) Build Active Architecture Only
設(shè)置NO
(NO:支持所有設(shè)備,YES:只支持當(dāng)前真機和模擬器版本運行)
(2) Dead Code Stripping
設(shè)置為 NO
(編譯優(yōu)化,舍棄無用代碼,非必須)
(3)Mach-O Type
選擇為Static Library
(默認(rèn)是動態(tài)庫,動態(tài)庫不支持上架)
(4)
設(shè)置framework最低支持版本iOS Deployment Target
4.TARGETS -->Build Phases,設(shè)置相關(guān)項
(1)
展開Headers ,將需要暴露出來的頭文件,從Project中拖入到Public,不需要暴露的頭文件,不用動放在Project即可
5.Edit Scheme 設(shè)置為release
模式.
二. 編譯特定環(huán)境下的庫文件,并進(jìn)行合并Fat庫文件
1.分別在真機和模擬器環(huán)境下運行(Command+B)一遍
2.選中工程Products下的.framework文件,Show in Finder.
3.分別驗證信息,然后進(jìn)行架構(gòu)合并.
$ lipo -info
查看建構(gòu)信息
$ sudo lipo -create 真機路徑 模擬器路徑 -output 合并后的庫文件路徑/庫文件名
// 示例:
sudo lipo -create
/Users/pactepacterara/Desktop/庫文件/Release-iphoneos/SKWebView.framework/SKWebView
/Users/pactepacterara/Desktop/庫文件/Release-iphonesimulator/SKWebView.framework/SKWebView
-output
/Users/pactepacterara/Desktop/SKWebViewFramework
4.驗證一下庫.
三. 上傳至github
1.在github上創(chuàng)建一個共有庫:
2.clone到本地,在該文件夾內(nèi)創(chuàng)建一個新的項目:
新建的項目一般會自帶一層目錄,可以將此目錄去掉,將準(zhǔn)備公開的庫文件放在一個文件夾中,同LICENSE,README文件放在同一目錄下:
結(jié)果如圖:
3.上傳到github上
4.創(chuàng)建或登錄trunk賬號
我們要讓用戶使用我們的的庫,就需要上傳到CocoaPod網(wǎng)站進(jìn)行托管.而要上傳文件到CocoaPod氧枣,就要創(chuàng)建trunk賬戶.
4.1 檢測是否已經(jīng)登錄
$ pod trunk me
如果沒有那么創(chuàng)建用戶
4.2 創(chuàng)建pod trunk 用戶
pod trunk register youxiang@163.com "YourName"
4.3 查收郵件
收到郵件睡蟋,點擊郵件的鏈接牙肝,會跳轉(zhuǎn)到一個頁面,提示驗證通過
執(zhí)行:$ pod trunk me
驗證一下
5.添加.podspec文件
我的代碼已經(jīng)提交到github上壤躲,還需要上傳到CocoaPod上,.podspec文件就是幫助用戶搜索到我們制作的庫文件的描述文件.
創(chuàng)建.podspec文件有兩種方法
方法一:復(fù)制已經(jīng)較成熟的第三方庫的.podspec文件到你的項目中,然后將各種信息改成你自己的
下面是我的.podspec
方法二:手動創(chuàng)建,先切到工程目錄,執(zhí)行命令
pod spec create 庫名
隨后會在當(dāng)前目錄下生成一個庫名. podspec文件,使用Xcode打開,編輯相關(guān)項:
6.將. podspec文件上傳到github
git add .
git commit -m "添加了 .podspec文件"
git push
7.添加tag標(biāo)記
git tag 1.0.0
git push --tags
這句話就是給我們的庫文件打tag滔金,這個tag一定要和.podspec文件內(nèi)容一一對應(yīng)圈澈,否則有問題
8.驗證podspec文件
我們?nèi)ヲ炞C自己的庫文件的時候霉涨,這樣寫
pod spec lint
或者
pod spec lint SKImageCodeTypeTool.podspec
但是有的時候會有一些warning,然后就驗證失敗,所以我們此時可以
pod spec lint SKImageCodeTypeTool.podspec --allow-warnings
9.上傳到Cocoapod:
如果剛才驗證惭适,沒有發(fā)現(xiàn)警告笙瑟,那么可以直接這個樣上傳
pod trunk push SKWebView.podspec
如果有警告,那么我們要去修改警告或者忽略警告
pod trunk push SKWebView.podspec --allow-warnings
上傳成功!
四.更新本地&查看上傳結(jié)果:
1.更新本地庫:
因為CocoaPod本身一直在集成很多開發(fā)者的庫癞志,他的master分支一直是在更新的往枷,但是你本地的庫相對于剛才上傳SKImageCodeTypeTool的時間節(jié)點你本地的庫是老的
所以我們要去更新一下本地的庫,具體操作:
pod setup
//初始化
pod repo update
//更新倉庫
2.查看上傳結(jié)果:
pod search SKImageCodeTypeTool
//查找
會有一定延遲:
pod tunk me
可以再pop網(wǎng)站搜索
https://cocoapods.org
3.更新維護(hù)自己的庫
1.修改項目源碼
2.上傳github
3.修改.podspece內(nèi)部的版本號
4.打tag(同.podspece中版本號)
5.上傳tags