iOS之創建CocoaPods公有庫教程

来源:https://www.cnblogs.com/xujinzhong/archive/2018/02/12/8444977.html
-Advertisement-
Play Games

簡介 在開發過程中,經常會使用到第三框架,我們通過一個pod install命令,很方便的就將第三方框架加到我們自己的項目中。 如果我們也想將自己寫的組件或庫開源出去,讓別人也可以通過pod install命令安裝自己的框架該怎麼做呢?下麵,我就教大家一步一步的將自己的pods發佈到CocoaPod ...


簡介

在開發過程中,經常會使用到第三框架,我們通過一個pod install命令,很方便的就將第三方框架加到我們自己的項目中。

如果我們也想將自己寫的組件或庫開源出去,讓別人也可以通過pod install命令安裝自己的框架該怎麼做呢?下麵,我就教大家一步一步的將自己的pods發佈到CocoaPods中。如果你現在對CocoaPods還不太瞭解,推薦你看一看這篇文章:CocoaPods的安裝與使用

流程

1、註冊CocoaPods賬戶信息
2、創建共用庫文件並上傳到公有倉庫
3、編輯.podspec文件
4、打tag, 發佈一個release版本
5、發佈自己的庫描述文件podspec給cocoapods
6、關於查找和使用新創建的庫
7、更新維護podspec

下麵就創建CocoaPods公有庫做一下分享:

一、在github上創建項目,複製項目的鏈接路徑,例如:https://github.com/sunjinshuai/MYSementManager;

備註:
1、GitHub倉庫的名稱,不允許重名。
2、開源協議,一般都選擇MIT

二、使用命令行、sourceTree或者GitHub Mac版將項目克隆到本地新建的一個文件夾中;

三、cd進入本地該文件夾,將自己之前的工程文件(demo)以及共用文件(共用庫Lib)拖入其中,並創建公有倉庫,例如:

pod spec create cocoaPodsName;
    備註:
1、自己的工程文件(demo)以及共用文件(共用庫Lib)。
2、MYSementManager.podspec創建的公有庫名稱。  

Specification created at MYSementManager.podspec說明創建公有庫成功。

四、使用文本編輯器或者sublime等編輯公有倉庫信息(註意:引號不能搞錯了,是英文格式的"",不是中文格式“”),預設選擇文本編輯器。

備註:

1、s.name:公有庫的名稱。
2、s.version:公有庫的版本。
3、s.summary:公有庫簡短介紹。
4、s.description:公有庫詳細介紹。
5、s.homepage:公有庫在GitHub上的地址。
6、s.license:開源協議。
7、s.author:作者。
8、s.source:公有庫在GitHub上的地址和版本號。
9、s.source_files:公有庫對外共用的.h和.m文件。
10、s.requires_arc:是否支持ARC。

沒有涉及到的欄位可以去官方文檔查閱。

五、編輯結束保存,並驗證本地的公有倉庫是否有效。

pod lib lint cocoaPodsName.podspec

六、驗證有效後,然後再將本地該文件夾中所有的文件pushgithub上。

git add .
git commit -m "first commit"
git remote add origin https://github.com/sunjinshuai/test.git
git push -u origin master

使用git tag(此方法操作後再push上傳一次)或者直接在github上點擊release進入後創建release並給公有倉庫打上tag

$ git tag -m "first release" 0.0.1
$ git push --tags     #推送tag到遠端倉庫

七、註冊trunk,例如:

pod trunk register 郵箱 ‘用戶名’ --description=‘描述’

註意:
郵箱為github上的登錄郵箱、用戶名為github上的用戶名。

  接收發送到郵箱的鏈接,點擊進入後註冊成功。  

作者:s_在路上
鏈接:https://www.jianshu.com/p/c852ab73ffa0
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 剪切 快捷鍵方式: ~~~~ dd:剪切游標所處當前行 n + dd:剪切游標所在行及以下共 n 行 按 p 粘貼在游標所在行 ~~~~ 命令行方式: ~~~~ 例如剪切1到10行,並粘貼在12行處: 1,10 m 12 ~~~~ 複製 快捷鍵方式: ~~~~ yy:複製游標所處當前行 n + yy ...
  • 因為手頭沒有安卓手機,無法調試模塊的AP模式,於是我使用了筆記本電腦——路由器——無線模塊的STA模式調試。 其中只測試了三種情況:TCP伺服器。TCP客戶端。UDP(我認為是UDP客戶端)。 1.需要修改MDK5的源代碼SSID和password (1)模塊做TCP伺服器 1.模塊的IP地址已經在 ...
  • 在編寫腳本的時候經常會遇到這種情況,某些程式的命令執行的之後可能會要求用戶進行輸入,這個時候就需要一些特殊寫法來應對這種問題了。這裡參考 "這篇文章" 提到可以使用 delimiter 分界符來解決。 也就是說在 Shell 將 delimiter 分界符之後的的所有內容都會當做輸入,直到遇到第二個 ...
  • Nagios Check_hp HP 2014年11月18日 下午 08:49 https://IP:2381 [root@nagios ~]# tar zxvf check_hp_bladechassis-1.0.1.tar.gz [root@nagios check_hp_bladechassi ...
  • 註意:修改完(visudo)之後,需要visudo -c檢查一下是否有錯誤。 sudo -l查看用戶擁有的許可權。 1、sudoers配置文件別名介紹 (1)Host Aliases(主機別名) 生產環境中一般不會設置主機別名,一般主機別名不太常用 配置服務 創建日誌保存目錄 [root@localh ...
  • 今天閑下來,試試曾經成功安裝過的Google-chrome的安裝 先加上幾個參考的鏈接: 一個是更改yum配置文件直接用yum install的,沒看他貼出安裝成功的照片,自己也試過,不行 http://www.linuxidc.com/Linux/2016-05/131538.htm 去掉vim ...
  • 位置是從1 開始 substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字元 substr("ABCDEFG", 1); //返回:ABCDEFG,截取所有字元 substr("ABCDEFG", -0); //返回:ABCDEFG,截取所有字元 -0=0,都是從左邊截 su ...
  • 一,assign 代表設置時候直接賦值,而不是複製或者保留它。 二,retain. 會在賦值的時候把新值保留。此屬性只能用於Object-C對象類型。 三,copy 在賦值時,將新值複製一份,複製工作由copy執行,此屬性只對那些實行了NSCopying協議的對象類型有效。 參考資料:《iPhone ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...