Cocoapods發佈Framework

1.建立git倉庫

本項目因爲屬於商業項目,不開源,所以使用framework方式上傳。ios

建立完畢之後,拉到本地git

2.建立trunk帳號

pod trunk register 郵箱地址 ‘用戶名’ --verbose
複製代碼

這裏我用了本身的帳號github

pod trunk register 329106954@qq.com 無星 --verbose
複製代碼

須要去郵箱驗證連接sql

完成之後xcode

pod trunk me
複製代碼

查看當前pod帳戶是誰bash

3.建立.podspec文件

cd 到sdk目錄下
pod spec create BjcaSignSDK
複製代碼

建立完之後用xcode雙擊打開ui

Pod::Spec.new do |s|

#名稱
s.name         = 'BjcaSignSDK'

#版本號
s.version      = '0.0.3'

#許可證
s.license      = { :type => 'MIT' }

#項目主頁地址
s.homepage     = 'https://github.com/XingXiaoWu/BjcaSignSDK'

#做者
s.authors      = { '無星' => 'wuxing@bjca.org.cn' }

#簡介
s.summary      = "北京數字醫信簽名SDK"

#項目的地址 (注意這裏的tag位置,能夠本身寫也能夠直接用s.version,可是與s.version必定要統一)
s.source       = { :git => 'https://github.com/XingXiaoWu/BjcaSignSDK.git', :tag => s.version }

#支持最小系統版本
s.platform     = :ios, '9.0'

#須要包含的源文件
s.source_files = 'BjcaSignSDK/BjcaSignSDK.framework/Headers/*.{h}'

#你的SDK路徑
s.vendored_frameworks = 'BjcaSignSDK/BjcaSignSDK.framework'

#SDK頭文件路徑
s.public_header_files = 'BjcaSignSDK/BjcaSignSDK.framework/Headers/*.{h}'

#依賴庫
#s.libraries = 'sqlite3','icucore','z'

#依賴庫
#s.frameworks = 'UIKit','Foundation'

end

複製代碼

保存,而後把打包好的framework放到本地倉庫spa

注意層級關係

4.傳到git上並打tag

命令以下code

#建立版本0.0.1的tag
git tag 0.0.1
#把0.0.1版本的tag push到github上
git push origin tag 0.0.1
#刪除名爲0.0.1的tag,這個是敲錯了tag名使用
git tag -d 0.0.1
複製代碼

注意了,這裏的tag名要和上面第3步填寫的version相符合orm

5.驗證podspec文件是否正常

通常的驗證

cd 到sdk目錄
pod spec lint BjcaSignSDK.podspec
複製代碼

可是咱們不同,咱們的framework裏面包含了.a庫

因此咱們須要使用命令

pod spec lint BjcaSignSDK.podspec --verbose --use-libraries
複製代碼

進行驗證

能夠看到,後面帶了個use libraries

提醒:若是遇到報錯

unknown: Encountered an unknown error (/usr/bin/xcrun simctl list -j devices

xcrun: error: unable to find utility "simctl", not a developer tool or in PATH
複製代碼

打開xcode

xcode->preferences->locations
複製代碼

以下圖

5.驗證經過之後,發佈

正常發佈

pod trunk push BjcaSignSDK.podspec
複製代碼

不過咱們仍是用下面這個

pod trunk push  BjcaSignSDK.podspec --allow-warnings --use-libraries
複製代碼

更新也是這個命令,改完podspec後從新驗證上傳便可

疑惑1:爲何個人包才25m,傳卻傳了賊大的一個包

答:是接收,不是上傳,英語很差emmmm

疑惑2:如何把bundle一塊兒傳上去?

s.resources = "bundle文件的路徑"

參考資料:

(提交Framework到CocoaPods)[www.jianshu.com/p/40f854f63…]

(發佈開源項目到cocoapods上去)[www.jianshu.com/p/69ebc6a4c…]

(iOS中Cocoapods的Bundle)[www.jianshu.com/p/73e426213…]

相關文章
相關標籤/搜索