日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用podspec创建iOS插件

發布時間:2025/7/25 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用podspec创建iOS插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

在WWDC 2014全球開發者大會上,蘋果開放了動態庫、App Extension等全新的功能,這為iOS插件化開發帶來了可能。在iOS開發中,動態庫是iOS提供的一種資源打包方式,可以將代碼文件、頭文件、資源文件和說明文檔等集中在一起,并且可以在運行時進行動態加載。

目前,很多應用越做越復雜,應用程序也顯得越來越臃腫。試想一下,如果將一些不常用的功能做成一個插件,然后根據用戶的需求從網絡中下載,這樣最大限度的利用了系統資源,這也是插件化開發的初衷。

使用Cocoapods的優勢

傳統使用第三方庫的劣勢
1、使用一個第三方SDK,需要在工程里面添加一堆配置,少添加一步配置就會報一大堆錯誤。這個時候為了排查少了哪一個步驟,只能從頭開始重做一遍,太浪費時間和精力。有些配置還不好配置,就更使人煩躁郁悶了。
2、如果使用的第三方SDK有比較重要的更新,想使用最新的SDK只能到官方下載最新的SDK,重新導入到自己的項目工程中。
3、如果公司有多個項目,每一個工程都這樣配置一遍,這是多么痛苦的領悟呀。

使用Cocoapods管理第三方庫的優勢
1、我們可以避免上訴的問題,使用方便。
2、方便我們自己管理,只需要更新版本就行了,以前的庫還可以保留讓他人使用。

創建插件庫

1,注冊Trunk

trunk需要CocoaPods 0.33以上版本,可以使用pod --version命令來查看本地的版本。

如果版本太低,可以使用下面的指令升級:

sudo gen install cocoapods pod setup

接下來,需要查看自己是否注冊過Trunk。

pod trunk me

如果沒有注冊,可以使用下面的命令進行注冊:

pod trunk register zhangyqyx@163.com "zhangyqyx" --verbose

其中,zhangyqyx表示名字,zhangyqyx@163.com表示注冊的郵箱。注冊時,系統會發送一個驗證鏈接到你的郵箱,驗證通過后即注冊成功。注冊成功后再次使用命令pod trunk me查看。

2, 創建GitHub倉庫

要完成插件化開發的需求,首先需要在GitHub中創建一個遠端的托管倉庫。如下圖:

將項目克隆下來到本地,并添加公開庫文件相關的信息,代碼上傳和下載建議使用SourceTree等圖形化工具進行操作。

3, podspec

使用如下命令創建.podspec文件,創建的命令如下:

pod spec create pluginPods

其中,CardBannerView為庫的名稱。然后,打開并編輯.podspec文件。

Pod::Spec.new do |s|s.name = 'pluginPods's.version = '0.0.3's.summary = '自定義輪播插件's.homepage = 'https://github.com/xiangzhihong/pluginPods's.license = 'MIT's.authors = {'xiangzhihong' => '1044817967@qq.com'}s.platform = :ios, '8.0's.source = {:git => 'https://github.com/xiangzhihong/pluginPods.git', :tag => s.version}s.source_files = 'pluginPods/*' end

其中,上面配置的具體的含義為:

  • s.name:名稱,pod search 搜索的關鍵詞,注意這里一定要和.podspec的名稱一樣,否則報錯。
  • s.version:版本號。
  • s.ios.deployment_target:支持的pod最低版本
  • s.summary: 項目簡介
  • s.homepage:項目主頁地址
  • s.social_media_url:社交網址
  • s.license:許可證
  • s.author:作者
  • s.source:項目的地址
  • s.requires_arc: 是否支持ARC
  • s.source_files:需要包含的源文件
  • s.public_header_files:公開的頭文件
  • s.resources: 資源文件
  • s.dependency:依賴庫,不能依賴未發布的庫,可以寫多個依賴庫

常見的寫法

dependency寫法:

s.dependency = 'AFNetworking' , 'SDWebImage'

source_files寫法:

'runtime/*' 'runtime/runtime/*.{h,m}' 'runtime/**/*.h'

其中,

  • '*'表示匹配所有文件;
  • '*.{h,m}' 表示匹配所有以.h和.m結尾的文件;
  • '**' 表示匹配所有子目錄

4,添加源碼

接下來,將你的源碼添加到剛才s.source_files配置的目錄。如果是OC編寫的還需要配置公開的頭文件。此處,我使用的是Swift編寫的,就不管那么多了,如果有任何語法上的警告請忽略相關的警告。

5,上傳Git

將包含配置好的 .podspec, LICENSE 的項目提交 Git。命令如下:

git tag "v0.0.1" // 如果出現錯誤,試一下不加v的情況 git push --tags

或者,直接使用sourcetree等圖形化工具進行操作。例如:



如果我們的tag打錯了,沒有用的話,我們應該怎么刪除呢?可以參考下面的方法:
1、查看tags
git tag 就會羅列出我們所有的tags

2、刪除本地tags
git tag -d + 分支名稱就會刪除本地的分支

3、刪除遠程分支
git push origin :refs/tags/分支名稱 就刪除了遠程分支

為了驗證是否上傳成功,可以驗證.podspec文件,命令如下:

pod spec lint WeexHMGesUnlock.podspec --verbose


如果出現這種警告性的問題,我們可以直接忽略。

pod lib lint --allow-warnings


如果出現這種情況,可能是你的那個版本找不到這個文件。

5,發布

發布時會驗證 Pod 的有效性,如果你在手動驗證 Pod 時使用了 --use-libraries 或 --allow-warnings 等修飾符,那么發布的時候也應該使用相同的字段修飾,否則出現相同的報錯。

pod trunk push pluginPods.podspec


如果出現 --use-libraries 或 --allow-warnings 等修飾符警告,可以使用如下的命令:

pod trunk push pluginPods.podspec --allow-warnings

6, 驗證倉庫

使用下面的命令來驗證,是否上傳成功。

pod search pluginPods


如果碰到上面的情況,你可以刪除搜索的文件路徑,然后重新生成。命令如下:

rm ~/Library/Caches/CocoaPods/search_index.json pod setup

如果還是不行,估計是在你的項目還在審核中,你可以通過其他輔助手段去驗證。例如,使用pod trunk me命令:

當然,你也可以在CocoaPod官網中進行搜索。

如果剛才是用 pod lib lint 驗證成功的,就執行以下命令發布。

pod trunk push pluginPods.podspec

如果剛才是用 pod lib lint --allow-warnings 驗證成功的,就執行以下命令發布。

pod trunk push pluginPods.podspec --allow-warnings

TIP:集成時如搜索不到,可以試著執行pod setup或pod repo update指令來更新pod,pod search搜索不到時,可以刪除~/Library/Caches/CocoaPods下的search_index.json文件以更新索引(pod search搜索不到并不影響集成),因為國內使用的時鏡像,也可以稍等一段時間后再更新。

創建私有庫

創建私有庫和創建Git庫的流程大體相似:

1、創建一個私有的項目
可以是公司自己的git管理工具、也可以是碼云上的,創建方法可以參考Git倉庫的創建過程。

2、創建.podspec
使用pod spec create命令創建xxx.podspec文件。

3、編輯.podspec文件
編輯podspec文件,主要是添加項目庫、托管地址、版本號、暴露的文件等。

4、上傳到Git
將包含配置好的 .podspec, LICENSE 的項目提交 Git或私有云。

5、打tag

6、驗證.podspec文件
使用pod spec lint來驗證podspec文件是否配置正確,如果有任何的錯誤,請根據錯誤提示進行修改。如果是warning可以忽略,在指令后面添加--allow-warnings即可。例如:

pod lib lint --allow-warnings

7、添加一個私有庫并和項目地址做綁定

pod repo add xxx https://github.com/xiangzhiho...

8、向私有的庫里添加podspec文件

9、新建一個項目進行驗證

新建一個Xcode項目,在podfile中添加引用腳本,看是否能夠成功的依賴,添加時注意版本號。

pod 'pluginPods', '~> 0.0.3'

如果,沒有任何提示錯誤,則說明自定義插件創建成功。

總結

以上是生活随笔為你收集整理的使用podspec创建iOS插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。