天天看點

制作 cocoapods 類庫

原文:http://blog.csdn.net/top_roboo/article/details/51272415

cocoapods應該是時下類庫比較全面的三方管理工具,使用也特别友善,你隻需将别人的類庫在你的 podfile中

pod "SomeoneNameLibrary"

就可以在你的工程中使用這個庫,作為一個開發者,你是否也想讓别人在他的項目中

pod "YourNameLibrary"

,so,if your answer is yes,continue.

使用

cocoapods

官方提供的模闆建立工程

  • 打開終端,進入你要寫代碼的目錄,輸入一下指令
  • 這時候你的終端會出現幾個問題
    What language do you want to use?? [ Swift / ObjC ]
     >Swift // 根據你自己使用的語言來輸入,注意大小寫
      Would you like to include a demo application with your library? [ Yes / No ]
     >Yes   // 你是不是要添加一個demo在你的工程裡面,也根據你自己來選,帶上會比較好
     Which testing frameworks will you use? [ Quick / None ]
     >None  // 個人認為這個測試架構沒用,選None
     Would you like to do view based testing? [ Yes / No ]
     >No    // 依然 No
               
  • 到此,你已經向成功邁出了一大步,終端會自動執行

    pod install

    指令,接下來你或許你要等很久,因為 cocoapods 執行

    pod install

    的時候,會自動檢測

    repo

    是否有更新,你懂得。是以如果你沒有這個耐心的話,果斷

    control+Z

  • 進入你的目錄,發現你的工程結構如下
    YourNameLibrary
        _Pods.xcodeproj
        Example
            Podfile
            Pods
            YourNameLibrary
            YourNameLibrary.xcodeproj
            Tests
        LICENSE
        YourNameLibrary
            Assets
            Classes
        YourNameLibrary.podspec
        README.md   
               
    如果之前執行

    pod install

    的時候你按下了

    control+Z

    ,現在我們要補救一下,終端進入

    Example

    目錄下
    cd YourNameLibrary/
    cd Example/
    pod install --no-repo-update    // 這句指令的意思是跳過更新repo 執行 install
               
    執行完成之後,在Example下會有一個

    YourNameLibrary.xcworkspace

    打開它,你會看到這樣的畫面
    制作 cocoapods 類庫
    删除

    ReplaceMe.swift

    檔案,把你給别人用的類庫檔案寫在這個目錄下面,示例代碼寫在

    ViewController.swift

    中,接下來的事情交給你了,編譯完成之後,繼續continue

    上傳你的類庫到 Github

    看到這個标題,千萬不要沖動,因為pod是根據Github提供的tag去比對的,是以如果你不會設定tag值,還是一步一步跟着來
  • 首先在你的Github首頁上建立好倉庫,并且和你的本地倉庫關聯,你可以借鑒一下的送出
    git add.
    git commit -m "Initial commit"
    git tag 
    git push origin 
               

驗證你的

podspec

檔案

在我們的工程根目錄下有這樣一個檔案

YourNameLibrary.podspec

,這是你的類庫許可檔案,你的類庫就是依據這個檔案被别人從 Github 上導入到工程裡面的,這裡隻做簡單的介紹,如果想進一步了解,請到這裡去看

  • 編寫

    podspec

    Pod::Spec.new do |s|
        s.name             = "YourNameLibrary"  #你的類庫的名字,
        s.version          = "0.1.0"                    #版本号
        s.summary          = "你的類庫的簡介"      #簡介
    
        s.description      = "你的類庫的具體描述"    #這裡要注意一點,描述和簡介不能一樣,而且描述要比簡介長才可以通過驗證
    
        s.homepage         = "https://github.com/<GITHUB_USERNAME>/YourNameLibrary" #你的github首頁
        # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"  #這裡是截屏檔案位址
        s.license          = 'MIT'  #許可協定類型,一般就用MIT
        s.author           = { "作者的名字" => "作者的郵箱" }
        s.source           = { :git => "https://github.com/<GITHUB_USERNAME>/YourNameLibrary.git", :tag => s.version.to_s } 
        # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
    
        s.ios.deployment_target = '8.0'     #你的類庫支援的 iOS版本
    
        s.source_files = 'YourNameLibrary/Classes/**/*'
        s.resource_bundles = {
    'YourNameLibrary' => ['YourNameLibrary/Assets/*.png']
    }
    
        # s.public_header_files = 'Pod/Classes/**/*.h'
        # s.frameworks = 'UIKit', 'MapKit'          #這是你的類庫依賴的架構,一般的項目裡都會導入UIKit等常用架構,是以這裡不用導入
        # s.dependency 'AFNetworking', '~> 2.3'        #這是你的類庫依賴的三方庫,如果需要,請寫在這裡
    end
               
  • 驗證

    podspec

    檔案,終端進入到你的

    podspec

    目錄下,執行這一條指令
    pod lib lint YourNameLibrary.podspec
               
    如果驗證通過了會出現這個,你就可以繼續下一步,如果沒通過,你要排查錯誤,知道通過為止

關聯cocoapods到你的類庫

如果你已經走到這裡,告訴我你有一點小激動,此時我要是多說些廢話,或者沒有下文。。。

好的我們continue

  • 如果你沒有注冊過cocoapods,請自覺先去注冊,注冊完成之後,執行下面這條指令
  • 如果出現終端輸出
    Validating podspec
     -> YourNameLibrary (.)
               

恭喜你,That`s all. Thank you. 你可以去意淫了

更多前往: http://blog.csdn.net/top_roboo?viewmode=list