上傳 framework 到 cocoapods,使用 cocoapods 管理自己的第三方庫

  將自己的開源代碼上傳到 cocoapods 使用 cocoapods 管理網上資源很多,但是有的項目涉及一些公司內部協議問題項目不能開源,只能製作成 framework, 可以手動導入 framework,但是相對麻煩,可以將製作好的 framework 上傳 cocoapods 交有 cocoapods 來管理,大部分都與普通的開源項目配置一致,只需要改下 podspec 的配置。

1. 製作framework,比如命名爲 MySDK.framework, 製作的 MySDK.framework 中是否包含第三方庫比如 AFN 等,需要注意的是使用者項目中也導入了 AFN,此時就會出現衝突的問題,所以 MySDK.framework  如果使用了很常用的第三方庫應將第三方庫重命名,以免出現衝突。

2. 準備 githup 賬號,登錄 githup,新建倉庫:eg: bluetooth-sdk,注意添加 LICENSE 文件,這個在配置 podspec 文件中需要使用,也可以後續添加

3. 克隆倉庫到本地(默認本地 master 關聯 遠程 master):

git clone xxxx.bluetooth-sdk.git

4. 添加 .gitignore 文件

5. 拷貝製作好的 MySDK.framework 到倉庫目錄下並提交到 githup,執行命令依次如下:

cd path  // path 爲本地倉庫的根目錄
cp /xxx/xxx/MySDK.framework ./     // 將 MySDK.framework 拷貝至當前目錄下

git add .                   // 提交代碼
git commit -m "add init"
git push

git tag -a v1.0 -m "v1.0"  // 添加 tag 在配置 pod 的配置文件中需要使用
git push origin v1.0
git tag                 // 查看 tag

6. 至此已將代碼提交至githup且 tag 爲 v1.0

7. 創建 podspec 配置文件

   1. 進入倉庫根目錄下創建配置文件命名與工程名相同,創建方式有兩種,

   一種 創建普通文件後綴名爲 .podspec, 此爲空白文件,可複製後面編輯的內容

touch MySDK.podspec

    第二種使用 pod 命令    創建,這個會自帶模板

pod spec create MySDK

8. 編輯 MySDK.podspec 文件


Pod::Spec.new do |s|

  s.name         = "CDBleSDK"
  s.version      = "1.0.1"
  s.summary      = "藍牙數據交互SDK"

  s.description  = "藍牙中心設備與外設(充電樁)通訊交互SDK"

  s.homepage     = "https://github.com/lele9096/bluetooth-sdk"
  
  s.license      = { :type => "MIT", :file => "LICENSE" }   # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  s.author             = { "作者" => "你的郵箱" }
  # 支持 IOS 8.0 以上的版本
  s.ios.deployment_target = "8.0"
  
  s.source       = { :git => "https://github.com/xxx/bluetooth-sdk.git", :tag => "v1.0" }

# s.source_files 此路徑爲相對於 CDBleSDK.podspec 的文件路徑,且此路徑文件夾爲 需要暴露給 別人文件的文件夾
  s.source_files  = "CDBleSDK.framework/Headers", "*.{h,m}"

  # 此處未需要添加的 framework 爲動態庫
  s.vendored_frameworks = 'CDBleSDK.framework'

  s.requires_arc = true

  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
  # 此處爲依賴 比如你自己的framework 依賴的第三方 在此使用 s.dependency 添加
  # s.dependency "JSONKit", "~> 1.4"

end

9. 校驗 MySDK.spec 文件

pod lib lint

 如果有錯誤按照提示修改錯誤即可,當時最大的坑的就是報  s.source_files 的錯誤,這個的說明在配置中已寫明

10. 上傳

pod trunk push --allow-warnings

等待上傳成功,如果上傳提示tag 什麼的錯誤修改配置文件或者重新打tag上傳,因爲要根據tag從githup上拉取代碼編譯

11. 檢驗,上傳成功之後執行

pod search MySDK

如果搜索不出來執行下面操作:

pod setup
pod search MySDK

如果還是沒有的話,清除 pod 緩存文件:

 前往文件夾:~/Library/Caches/CocoaPods/Pods/   刪除  search_index.json 文件

執行 命令

pod setup
pod search MySDK

此時應該可以看到 上傳的 MySDK pod 文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章