簡體   English   中英

創建您自己的 cocoa pod

[英]Create your own cocoa pod

我檢查了幾個參考鏈接和關於我們如何創建 cocoa pod 的問題,試過:

這些都沒有提供完整的信息,我可以從中獲得創建自己的 cocoapod 的所有步驟。


為什么?
主要是因為你想這樣做,但是當你知道這個組件將在你的大部分項目中一次又一次地使用時,它已被證明是一種高效的方法。 例如,提供占位符和字符限制¹UITextview或可以平移到您想要的方向和區域的視圖。 稍后我們將在學習這篇文章的過程中創建。


你需要什么?

  • Xcode,我們將在 Swift 5 中開發這個 pod
  • 在您的系統中配置 Cocoapod,在這里您可以找到如何做到這一點
  • 一個想法,你認為有資格作為一個 Pod 的東西,而不是已經存在讓你發送拉取請求並進行更新以添加你需要的功能,這樣它也會對另一個用戶的幫助。
  • 還有一點點意願,不要放棄,因為在這篇文章結束時,您的 pod 已發布到cocoapods.org

我們將如何進行?
你會看到的。 我們開始做吧!


第 1 步:創建一個 pod 項目並編寫代碼。

  • 首先,在你的 mac 中創建一個文件夾並移動到終端中的那個文件夾

    提示:您可以通過在終端上鍵入cd folder/path來完成拖動文件夾的cd 將其命名為與您的 pod 相同的名稱,以供將來參考。 我將其命名為RPTInteractiveView 確保也為您的 pod 選擇一個唯一的名稱(這是必需的)。

  • 記住與lintcreate相關聯的pod lib是一件好事,它可以讓您的生活更輕松。
  • 使用pod lib create創建一個 pod 項目。 您可以在此處查看控制台日志。

    pod lib create RPTInteractiveView

  • 現在按照這些自動化步驟操作,我已經添加了我的偏好,你可以選擇:

    你想用什么平台?? [ iOS / macOS ]
    >iOS
    你想用什么語言?? [ Swift / ObjC ]
    >斯威夫特
    您想在您的庫中包含一個演示應用程序嗎? [是/否]
    >是的
    您將使用哪些測試框架? [快速/無]
    >無
    您想進行基於視圖的測試嗎? [是/否]
    >沒有

  • 完成這些步驟並完成處理后,將創建項目,如果一切順利,您的項目將自動在 Xcode 上啟動,檢查類似的結構:

  • Pod 項目結構

  • 現在您可以為這個想法編寫代碼,以幫助其他開發人員。 我更喜歡在我的示例鱈魚中寫,為什么? 因為如果您在 pod 項目上編寫代碼,那么每次當您嘗試查看所編寫代碼的反射時,您都必須清理並重新運行代碼。

    • 繼續編寫調試和測試,直到您對結果感到滿意為止。 一旦你覺得你准備好了,你可以將你的代碼移動到 pod 文件中。
    • 上圖中可以看到,在Pods->Development Pods->RPTInteractiveView.swift你還可以注意到旁邊有一個R ,那是因為我之前給它重命名了(這里名字沒有太大關系) 之前它曾經是ReplaceMe.swift並且我完全按照它的要求做了。
    • 現在將您的代碼移到此處(如果它在示例文件夾內,則將其從文件中刪除)清理項目。 將您的 pod 導入到您使用它來測試它的類中,再次運行您的項目,您應該能夠以創建它的方式查看您創建的所有內容。
    • 覺得很開心? 也可以在另一個控制器中使用它。 在測試中變得瘋狂。 :-)
    • 好的,您可以將其用作任何項目中的開發 pod,只需將其添加到您的 pod 文件中,例如

      pod 'RPTInteractiveView', : path => '/path/to/my/pod/RPTInteractiveView'

    • 不過,它將是一個本地 pod,只有創建此 pod 的機器中的項目才能訪問它。

第二步:創建遠程倉庫

  • 現在,如果您想共享此 pod 並正確維護版本控制,則需要將其推送到 git。
  • 在 git 平台上創建一個 repo,將其命名為與您的 pod 相同的名稱(您知道我的是RPTInteractiveView )。 它不一定必須在 GitHub 上,但我正在使用它。 由於我們將在全球范圍內提供我們的 pod,因此請保持 repo 公開。

第 3 步:元數據

  • 既然您已經投入了時間和精力並且喜歡您的 pod,那么您對下一步(我們程序員通常不太喜歡)更新元數據很有動力。 您必須處理Podspec Metadata文件夾中的所有文件,如上圖所示,您可以看到它是從頂部開始的第一組,位於項目名稱的正下方。

    1. .podspec :這將是唯一一個托管在 Podspecs ²上的文件,因此這是一個需要更新的重要文件。 此外,它是一個 ruby​​ 文件,所以縮進更好! 它帶有一個預定義的結構,所以這是一個很大的幫助。 只需使用相關信息更改所有值。
      • 你的 pod 項目版本版本 s.version必須相同
      • s.summary必須大於s.description給出的值
      • 在摘要下方添加s.swift_version = '5.0',以避免一些警告
      • s.homepage應該是您的存儲庫的路徑( https://github.com/rptwsthi/RPTInteractiveView
      • s.license = { :type => 'MIT', :file => 'LICENSE' }
      • s.author= { 'Your Name' => 'your@email.com' }
      • s.source應該看起來像s.source = { :git => 'https://github.com/rptwsthi/RPTInteractiveView.git', :tag => s.version.to_s } 如你所見:tag => s.version.to_s這就是為什么我們需要保持我們的標簽版本與項目版本相同,所以它在所有 3 個地方保持對稱(項目版本,podspec 版本和我們提交的標簽)想用這個版本發布)。
      • 您可以保留其余參數不變。
      • 還記得pod lib嗎? 使用lint在您的終端上再次使用它來驗證您的 podspec 是否准備就緒。

        $ pod lib lint

      • 如果您按照正確的說明進行操作,您將看到這個甜蜜的行RPTInteractiveView passed validation. ,顏色為綠色³
    2. README:這個文件是人們使用和不使用你的 pod 的區別。 這可以在 Github 上編輯,也可以在本地進行。 我更喜歡 GitHub 以交互方式執行此操作。 編輯自述文件時您應該了解的一些內容:

      • 要添加屏幕截圖(或 gif),請使用代碼提交屏幕截圖,並在添加鏈接時使用這些圖像的 git 路徑
      • 我使用https://giphy.com創建漂亮的.gif文件來顯示使用交互,如果你願意,你也可以這樣做
      • 必須解釋如何使用它,因為盡管對其他人來說它很簡單,但可能並非如此。
    3. 許可證:許可證文件在這里可以免除您的責任,並告知用戶他們擁有的自由。 您必須在此文件中添加您的許可證信息並保存它。 我用過 MIT 你可以用任何你想要的。


第 4 步:推送到遠程存儲庫

  • 為你的分支的最新提交添加一個標簽,它必須與你的 pod 項目版本相同
  • 您可以繼續在您的 pod 中進行更新並推送到遠程倉庫沒有問題,但是每次您想將其發布到 podspecs 時,更新您的 pod 項目的版本,創建一個標簽並將該標簽推送到倉庫。 稍后我們將在 podspec 文件的 s.version 中使用相同的值。
  • 將您的代碼推送到此 repo,讓我們將其保留在分支 master 上。

第 5 步:讓我們將其提供給其他程序員。

  • 你已經完成了你需要做的一切。 尊重! 現在是時候讓全世界看看你創造了多么了不起的吊艙。 您將需要使用pod trunk
  • 如果尚未注冊,您必須注冊 pod trunk 並按照此處所述

    pod trunk register your@emai.com 'Your Name' --description='machine name (eg MacBook Pro)'
    您必須單擊 Trunk 發送給您的電子郵件中的鏈接,以驗證您的 Trunk 帳戶與當前計算機之間的連接。 您可以通過運行 pod trunk me 列出您的會話。
    中繼帳戶沒有密碼,只有每台計算機的會話令牌。

  • 現在您已經注冊,在您的項目文件夾內的終端中運行:

    pod trunk push RPTInteractiveView.podspec

  • 當您完全按照步驟進行操作時,您一定得到了這樣的回復。 您可以在此處查看完整的控制台日志


    🎉恭喜

    🚀 RPTInteractiveView (0.1.0) 成功發布
    📅 2 月 12 日 19:16
    🌎 https://cocoapods.org/pods/RPTInteractiveView
    👍 告訴你的朋友!



怎么辦?

現在您等待,在您的 pod 首次發布之前,最多可能需要 48 小時(發生在我身上)。 但是去https://github.com/CocoaPods/Specs/commits/master ,你會看到這樣的東西。

在此處輸入圖片說明

這是讓你快樂的事情,讓你有等待的力量。 你做到了,為自己感到驕傲。 並得到一些很棒的東西吃。


學分:

如何創建自己的 Pod

在 Swift 創建自定義庫

概述

創建 Cocoapods 庫 Swift:這篇文章指的是使用 swift 創建自己的 pod,它是自定義 cocoapod 庫。Xcode 允許使用 cocoapods 創建自己的庫 swift,這意味着創建自己的 868610 框架將在全球范圍內使用 868610 開發人員可以通過將此自定義 pod 安裝為第三方庫來將其用於他們的項目。

創建自定義 Pod:要創建自己的自定義 Pod 並使其對其他開發人員公開可用,我們將使用 Git Hub。 由於 Git Hub 是托管我們的自定義 pod 並使其公開可用的最佳媒介。 此外,Git Hub 還提供了版本控制,用於管理自定義 pod 的不同版本。 因此,當用戶想要更新他們的自定義 pod 庫時,他們可以通過創建新版本和更新他們的自定義 pod 庫版本來輕松地做到這一點。

在 swift 中創建您自己的圖書館,並使其在全球范圍內可用。 在自己的 Cocoapods 庫中自定義 pod。 將自己的 pod(自己的庫)分發到 iOS 開源社區。 git 上已經有許多不同的開源 (pod) 庫可用,例如 Alamofire、SwiftyJSON 等。 在本文中,我們將學習如何通過以下步驟創建自己的 pod(庫)——

在本文中,我們將通過以下步驟

要求

  • Xcode 6 或以上
  • Swift 4
  • iOS 9以上
  • Git 中心帳戶或存儲庫

腳步

  1. 創建一個新的公共存儲庫
  2. 為存儲庫命名並添加描述
  3. 使用 README 檢查初始化
  4. MIT license Select license
  5. 單擊“創建存儲庫”開始
  6. 克隆庫
  7. 單擊“克隆或下載按鈕”
  8. Select 克隆 HTTPS url 並復制 url
  9. 打開新終端 window & select 克隆項目文件夾
  10. 克隆后應該有文件 README.md 和許可證文件可用
  11. 使用 File -> New -> Project -> Framework 啟動 Xcode
  12. 將產品名稱、Select 語言命名為 Swift,然后單擊“下一步”按鈕
  13. 現在 select 用於克隆存儲庫和保存項目的同一文件夾
  14. 創建一個新的 swift 文件:R單擊項目文件夾和 select 'New File' -> select swift 文件並為文件命名。
  15. 在這個新文件中,記下創建自定義 pod 所需的代碼。 16. 根據需要,您可以創建任意數量的文件。 請記住僅添加需要的文件和需要的代碼量以保持庫文件的大小及其完整性。 查看下面的“注釋”部分以獲取更多信息。
  16. 現在保存代碼並按原樣關閉項目。
  17. 您可以將這些所有源代碼推送到 Git 中心。
  18. 打開終端 window 並將目錄更改為您的庫項目文件夾並寫入並點擊“返回”

'吊艙初始化'

  1. 您還需要添加 .podspec 文件。 此文件包含有關您的自定義 pod 庫的信息。 在項目中創建 Podfile 后,現在使用以下命令添加 .podspec 文件,請記住在以下命令中提供您的存儲庫名稱

pod spec 創建 YOURRESPOSITORYNAME

  1. 現在您必須在項目文件夾中看到“Podfile”和“YOURRESPOSITORYNAME.podspec”文件,您可以從 finder 本身或通過從終端列出文件夾內容來檢查這些文件的可用性。

  2. 接下來,您需要在任何您喜歡的編輯器中打開“YOURRESPOSITORYNAME.podspec”文件。 相反,您可以 select Xcode 作為該文件的編輯者。 從終端,您可以輸入以下命令在 Xcode 中打開它,或者您可以從 finder 和 select Xcode 作為編輯器單擊

打開 YOURRESPOSITORYNAME.podspec -a Xcode

  1. 在這里您需要編輯“YOURRESPOSITORYNAME.podspec”文件。 實際上,您需要指定有關 iOS 框架的自定義 pod 庫的所有必要細節。

  2. 完成編輯“YOURRESPOSITORYNAME.podspec”文件后,關閉此文件(文件編輯器)並移至終端 window。確保您位於包含“YOURRESPOSITORYNAME.podspec”文件的自定義 pod 文件夾的相同路徑(相同目錄)中。 在這里寫下以下命令並回車

pod 規范 lint

此命令將使用所有 pod 驗證屬性驗證您的自定義 pod。 驗證您的 pod 有不同的驗證步驟,此驗證可能會在任何驗證步驟中失敗。 確保所有驗證步驟都應該在沒有警告的情況下通過。

  1. 有時在驗證自定義 pod 時,可能會失敗,並且您最終會收到警告,即盡管您添加了許可證,但存儲庫中沒有附加許可證文件,這些驗證有時無法獲得許可證。 在這種情況下,您可以像下面這樣編寫 (--allow-warnings) 命令 -

pod 規范 lint -- 允許警告

  1. 驗證過程需要一些時間才能完成。 驗證過程完成后,您將收到綠色文本顏色的消息。

YOURRESPOSITORYNAME.podspec 通過驗證

  1. 現在您的自定義 pod 可以使用了,您可以通過在 pod 文件中提供本地路徑在任何單獨的項目上測試此 pod

pod 'YOURPODNAME', :path => “YOURLOCALCUSTOMPODPATH”

  1. 成功完成測試后,這里您必須將自定義 pod 項目的所有源代碼推送到 Git Hub。 這將是您的自定義 pod 的第一個版本。

  2. 將所有源代碼推送到 git 后,您需要使此自定義 pod 全局可用,為此首先檢查 session 使用

豆莢樹干我

這將顯示有關當前正在運行的信息 session

  1. 接下來通過注冊您的自定義 pod 使用 trunk 進行設置。 輸入以下命令並回車。

pod trunk register YOUREMAILADDRESS 'YOUR NAME' — description='macbook'

請記住,在上面的描述中,等號和引號內只需寫下您擁有的 macbook 類型,“macbook pro”或“macbook air”

  1. 這將顯示一條消息,要求您驗證您提供的 email 地址。 為此,您需要打開您提供的 email 並找到您從 Cocoapods 獲得的確認 email。您將在此處獲得鏈接,單擊此鏈接,您將轉到官方 cocoapods 頁面,將顯示您已完成自定義 pod 設置.

  2. 最后,返回終端並寫入以下命令以完成自定義 pod 過程

pod 主干推送

這將再次驗證您的自定義 pod 並檢查所有必要的文件。 檢查后,它將被發布,您將收到祝賀消息。 這確認您的自定義 pod 現在在全球可用。

如何更新自定義 Pod


腳步:

  1. 首先對您的自定義 pod 項目進行所有必要的更改並保存項目文件(如果未啟用自動保存)。
  2. 將所有這些更改推送到與您的自定義 pod 項目連接的 git 存儲庫中,並進行必要的提交,然后檢查存儲庫中是否有您最近的提交。
  3. 現在打開你的 .podspec 文件並到 go 版本行並根據要求更新你的自定義 pod 版本。 (注釋 4)
  4. 將 .podspec 版本更新提交到 git 並要求提交。
  5. 接下來是移動到終端並將目錄更改為包含 .podspec 文件的自定義 pod 文件夾並編寫以下命令

pod 規范 lint

  1. 自定義 pod 成功 lint 后,go 到您的 git 存儲庫(從瀏覽器)並單擊發布選項為這些新更改創建新版本

  2. 點擊“Draft a new release”,輸入需要的標簽版本,給出發布標題,寫下任何描述,然后點擊“Publish Release”按鈕發布這個新版本。 (注釋 5)

  3. 發布成功后,移至終端並在同一目錄(contains.podspec 文件)中輸入以下內容

pod 主干推送

  1. 成功推送文件后,您的終端 window 將顯示一條帶有自定義 pod 名稱及其新版本號的祝賀消息。

  2. 現在,您可以通過將項目根文件夾移動到終端並輸入以下內容以使用當前的新版本更新 pod 來檢查自定義 pod 的新版本。

吊艙更新

** 注意事項:**

  1. 始終嘗試只為庫編寫必要的代碼。 大量的代碼行會增加庫的大小。 盡量讓它盡可能小和緊湊。
  2. 保持源代碼在文件中的整潔,永遠不要試圖增加代碼的復雜性。 這應該易於用戶理解並在項目中輕松訪問。
  3. 嘗試添加注釋或注釋標記以指定哪些代碼用於什么目的。 還可以添加開始代碼注釋和結束代碼注釋,用於指定源代碼的特殊性。
  4. 在使用新版本更新自定義 pod 時,始終檢查同一個自定義 pod 的舊版本不應得到更新。 意味着永遠不要嘗試用新的更改來更新舊的自定義 pod 版本,盡管有一些小的更改,但始終更新您的自定義 pod 版本號。
  5. 您還可以從存儲庫中的 select 特定分支起草新版本。 唯一的條件是您的新更改應該在您要去 select 起草新版本的分支中可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM