<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 1. 開始 我們將通過使用`pod lib create`來創建一個完整的pod來引導過程。 所以讓我們從最初的命令開始: ~~~ pod lib create MyLibrary ~~~ > 注意1:要使用您自己的 pod-template,您可以添加參數 `--template-url = URL`,其中 URL 是包含兼容模板的 git 倉庫地址。 > 注意2:您可以按回車鍵選擇默認(帶下劃線)選項。 # 2. Objective-C 或 Swift 第一個問題是你想用什么語言來構建一個 pod。對于這兩個選擇,CocoaPods 都將把您的庫生成一個 framework 。 # 3. 做一個演示應用程序 模板將為您的庫生成一個 Xcode 項目。 這意味著您不必在 Xcode 中創建新項目。 如果你想為 pod 嘗試一個 MyLib 的示例項目,或者需要讓你的庫的測試在應用程序內運行(交互測試,自定義字體等),那么你應該說是。 一個很好的指標是“這個 Pod 應該包含屏幕截圖嗎?”; 如果是這樣,那么你應該有一個演示。 # 4. 選擇測試框架 你應該測試你的庫。 測試可確保使用您的庫的人的穩定性在開放源代碼庫中,這意味著人們可以在知道自己沒有違背期望的情況下進行更改。 我們推薦使用測試框架,而不是依賴 Apple 的 XCTest,但包含在內。 在 Objective-C 中,我們包含兩種流行測試框架的選擇; Specta / Expecta 和 Kiwi 。 如果您不知道如何選擇,請使用 Specta / Expecta 。 | Specta/Expecta | Kiwi | | --- | --- | | Objective-C 和 Cocoa 的輕量級 TDD / BDD 框架。 | Kiwi 是 iOS 開發的行為驅動開發庫。 目標是提供一個安裝和使用起來非常簡單的 BDD 庫。 | | [GitHub repo](https://github.com/specta/specta) | [GitHub repo](https://github.com/kiwi-bdd/Kiwi) | > TDD:Test-Driven Development 測試驅動開發 > BDD:Behavior Driven Development 行為驅動開發 主要區別在于 Kiwi 是一種對 Stubs/Mocks/Expectations 的一體化方法,而 Specta / Expecta 是通過不同 Podspecs 的模塊化方法。 我們在 MyLib-Tests.pch 中包含了所有必要的包含和設置,以便您不必將它們包含在每個文件中。 在 Swift 中,我們只提供 [Quick / Nimble ](https://github.com/Quick/Quick)選項,因為這看起來是主要的測試庫。 # 5. 基于視圖的測試 根據您建立的庫,您可能會發現基于快照的測試是驗證視圖上不同操作結果的智能方法。 我們建議使用 [FBSnapShotTestCase](https://github.com/facebook/ios-snapshot-test-case),如果您使用的是 Specta / Expecta,那么我們會包含一個 [Pod](https://github.com/dblock/ios-snapshot-test-case-expecta) 來改進語法。 # 6. Objective-C 的前綴 為了包裝一個 Objective-C 項目,我們想知道你的類的前綴。 這意味著我們可以讓所有由 CocoaPods 生成的類都適合您的樣式,并且從 Xcode 內部生成的所有類都將以您的前綴開頭。 我們知道 Apple 不贊成使用前綴,但實際上它們在 Objective-C 代碼庫中仍然占有一席之地。 # 7. Pod Lib 創建模板 隨著問題的結束,我們在新創建的 Project 上運行 `pod install`。 讓我們看看結果: ~~~ $ tree MyLib -L 2 MyLib ├── .travis.yml ├── _Pods.xcproject ├── Example │ ├── MyLib │ ├── MyLib.xcodeproj │ ├── MyLib.xcworkspace │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ └── Tests ├── LICENSE ├── MyLib.podspec ├── MyLib │ ├── Assets │ └── Classes │ └── RemoveMe.[swift/m] └── README.md ~~~ 我們已盡量減少根文件夾中的文件數量,您將看到以下文件: * .travis.yml : Travis-ci 的設置文件。 * _Pods.xcproject : 為您的 Pod 的項目提供符號鏈接 * LICENSE : 默認為 MIT 許可。 * MyLib.podspec : 庫的 Podspec。 * README.md : markdown 語法的 README 文件。 * RemoveMe.swift / m : 單個文件以確保最初編譯工作正常。 和以下文件夾: * MyLib : 這是你放置你的庫的類的地方(同名文件夾) * Example : 這是生成的 Demo&Testing 包 # 8. 把你的庫放在一起 CocoaPods 會馬上打開你的 Xcode 項目; 從那里你可以編輯由 CocoaPods 生成的所有文件。 我們來看看 Xcode 的擴展版本: ![](https://guides.cocoapods.org/assets/images/pod_lib_create/xcode.png =1130x704) 1. 您可以編輯您的 Podspec 元數據,這可以讓您更改 README 和 Podspec。 2. 這是演示庫,如果創建過程中沒有對它作出肯定的回答,不會有該項目。 3. 這是您之前選擇的框架的一個殘缺測試規范。 4. 這是 Development Pods 部分,實際上您可以在庫工作。 請參閱下面的詳細信息。 5. 最后在設置項目時使用 Pods。 在這里值得一提的是,因為這經常吸引人們,所以 Swift 庫需要將它的類聲明為`public`,以便在示例庫中看到它們。 ## 8.1 Development Pods Development Pod 與普通的 CocoaPods 不同,它們是符號鏈接的文件,所以編輯它們會改變原始文件,所以你可以在 Xcode中 使用你的庫。 您的示例和測試需要使用`#import <MyLib / XYZ.h>`格式包含對頭文件的引用。 > 注意:由于 Development Pod 的實現細節,當您將新的/現有的文件添加到 Pod / Classes 或 Pod / Assets 或更新您的 podspec 時,應該運行 `pod install` 或 `pod update ` # 9. 添加 Travis CI 該模板包含一個 .travis.yml 文件,該文件將運行項目中包含的默認測試。 如果你在 GitHub 上有一個開源的倉庫,打開 Travis CI 上的[個人資料](https://travis-ci.org/profile/)并開啟庫。 ![](https://guides.cocoapods.org/assets/images/pod_lib_create/travis-ci.png =740x194) # 10. 部署您的庫 所以你已經準備好了庫。 首先,您應該檢查 Podspec 是否正確,因為您無法部署有錯誤的pod。 這可以用兩種方法完成,即 `pod lib lint` 和 `pod spec lint` 。 它們之間的區別在于 `pod lib lint` 不訪問網絡,而 `pod spec lint` 檢查外部倉庫(spec)和相關分支(tag)。 如果您將開源庫部署到 [trunk](https://guides.cocoapods.org/making/getting-setup-with-trunk),則不能有 CocoaPods 警告,可以有 Xcode 警告。 您應該繼續使用 [trunk 指南](https://guides.cocoapods.org/making/getting-setup-with-trunk) 開始部署給公眾。 如果您正在部署到私人倉庫,您需要添加倉庫。 查看 [Private Specs Repos](https://guides.cocoapods.org/making/private-cocoapods) 的指南來設置。 如果要部署到現有的專用倉庫,請使用以下命令來部署: ~~~ pod repo push SPEC_REPO *.podspec --verbose ~~~ # 11. 完成
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看