一.創(chuàng)建sdk項(xiàng)目芙代。
創(chuàng)建完成后發(fā)現(xiàn)程序目錄中沒(méi)有 products 文件夾迷捧,執(zhí)行Commond+B命令后也找不到編譯出來(lái)的framework文件顶猜,那編譯之后的framework該怎么找呢或油?
解決步驟
1利术、選擇 NKFramework.xcodeproj嗦哆, 右鍵顯示包內(nèi)容
2科盛、打開(kāi)project.pbxproj
3妇多、按照下面方式修改文件并保存
搜索productRefGroup贤惯,將productRefGroup上面一行的mainGroup的值洼专,復(fù)制給productRefGroup,再保存一下孵构,Xcode就自動(dòng)刷新出來(lái)了屁商。
創(chuàng)建項(xiàng)目后 修改設(shè)置
1、修改最低的系統(tǒng)要求
2颈墅、在Building Settings–>Mach-O Type, Swift必須為Dyanmic Library(swift 語(yǔ)言智能選擇動(dòng)態(tài)庫(kù))
3蜡镶、Build Active Architecture Only 選擇NO,表示支持各種設(shè)備
4恤筛、Dead Code Stripping, 設(shè)置為 NO
5官还、Build Settings ——> Build Libraries for Distribution, 設(shè)置這個(gè)選項(xiàng)為 Yes,否則 framework 中不會(huì)包含 .swiftmodule 文件。
添加代碼
1毒坛、刪除創(chuàng)建項(xiàng)目時(shí)候自帶的.h文件
2望伦、添加代碼,注意方法或?qū)傩缘目稍L問(wèn)級(jí)別 open > public > internal > fileprivate > private煎殷,要想外面程序能訪問(wèn)屡谐,至少要設(shè)置為public級(jí)別
3、設(shè)置 TAGETS—>Build Phases—>Headers
生成xcframework
編譯完成蝌数,products里面就是對(duì)應(yīng)的framework包愕掏,分別是真機(jī)和模擬器架構(gòu)的。
xcodebuild -create-xcframework -framework 真機(jī).framework -framework 模擬器.framework -output YXSDK.xcframework
通過(guò)以上命令生成xcframework
二.上傳遠(yuǎn)端倉(cāng)庫(kù)
以gitee為例顶伞,新建一個(gè)遠(yuǎn)端倉(cāng)庫(kù)饵撑。
1.clone遠(yuǎn)端倉(cāng)庫(kù)到本地
2.把xcframework包放在倉(cāng)庫(kù)本地文件夾根目錄下剑梳,同時(shí)在根目錄創(chuàng)建podspec文件
podspec文件內(nèi)容示例
Pod::Spec.new do |s|
? s.name = '名字'
? s.version = '版本'
? s.summary = '短描述'
? s.description = '長(zhǎng)描述'
? s.homepage = '主頁(yè)'
? s.authors = '作者'?
? s.source? = { :git => '倉(cāng)庫(kù)地址', :tag => '版本'}?
? s.platform = :ios, '9.0'
? s.vendored_frameworks = '包名+后綴'
end
3.提交文件到遠(yuǎn)端倉(cāng)庫(kù)
(1). 將代碼修改添加到暫存區(qū):
```git
git add .
```
(2). 將暫存區(qū)內(nèi)容提交到本地倉(cāng)庫(kù):
```git
git commit -m "提交的描述信息"
```
(3). 將本地倉(cāng)庫(kù)的代碼推送到遠(yuǎn)程倉(cāng)庫(kù):
```git
git push <remote> <branch>
```
4.生成tag
git tag -a 1.2.0 -m '描述'
git push --tags
5.發(fā)布到cocopods
pod trunk push ./sdk名字.podspec --skip-import-validation --allow-warnings
如果上傳到私有倉(cāng)庫(kù)是
pod repo push gitee-xiao-applepi-appleplay sdk名字.podspec --verbose --allow-warnings