怎樣在swift中建立CocoaPods

來源:互聯網
上載者:User

本文由yake_099(部落格)翻譯自raywenderlich,作者:Joshua Greene

原文:How to Create CocoaPods with Swift

你可能對一些比較著名的開源的CocoaPods架構比較熟悉,比如Alamofire、MBProgressHUD。但是有時你可能找不到剛好滿足你需求的pod,也或者你需要把一個大的項目拆分成小的,可重用的組件。

幸運的是,建立你自己的CocoaPods是件很容易的事。

如果你已經為你的組件建立了一個Cocoa Touch架構,你已經完成了大多數的比較難的工作。如果你沒有也不要害怕,因為它還是很簡單的。

如果你只是曾經建立過iOS app的類的話,那也是可以的。你可以簡單地通過拖拽類或者方法來建立新的pod,這對你專屬的使用會很有意義。

這篇教程是開端,How to Use CocoaPods with Swift(中文 英文)是結束。如果你之前從沒用過cocoaPods,那麼這篇文章絕對是你學習的前提。

因此,來一杯熱可可開始學習吧。

開始

你的首要客戶是冰淇淋公司。他們的冰淇淋太受歡迎了以至於不能在櫃檯接收使用者訂單了。他們僱傭你來做一個漂亮的iOS應用,那樣就能讓使用者在他們的iPhone上下訂單了。你開始開發app了,並且進展得還不錯。

在這裡下載開始程式-------這是教程 How to Use CocoaPods with Swift(中文 英文)裡的最終版本。

app已經有幾個pod依賴檔案在下載中,所以你不需要運行pod install來安裝它們。

注意:如果你已經學習了 How to Use CocoaPods with Swift(中文 英文),那麼接下來的部分看起來可能比較熟悉----只是對那篇教程的複習。所以可以根據自己的情況跳過一部分。開啟 IceCreamShop.xcworkspace,然後是Main.storyboard,找到Views\Storyboards & Nibs這個分組,看看app是怎樣布局的。

下面是對選擇口味情境的一個大致瞭解,這是這個應用的核心:

PickFlavorViewController: 處理使用者互動,比如使用者選擇了一個冰淇淋口味。

PickFlavorDataSource: 是展示冰淇淋口味的collectionview的資料來源。

IceCreamView:是一個自訂的view,可以用來展示一種冰淇淋,並且它以Falvor這個模型來支撐。

ScoopCell:是一個自訂的collectionviewcell,它包含了一個ScoopView,這個view也是以Flavor這個model類來支撐的。

冰淇淋店的高層管理者很喜歡現在的app,但是他們又添加了一些新的需求:冰淇淋零售商需要在他們的app中有選擇個人口味的功能。等等,那沒有在最初的設計中。但是對於像你這樣厲害的開發人員這沒有問題。

你能猜到怎麼做嗎。是的,你需要在他自己的cocoapod中拉入這個方法。

配置你自己的pod

建立一個Xcode工程並且選擇iOS\Framework & Library\Cocoa TouchFramework,然後點擊下一步

輸入RWPickFlavor作為產品名字並且選擇Swift作為開發語言。選擇下一步。

這篇教程需要你將你的工程建立在~/Documents/Libraries目錄下.在你的主目錄下選擇Documents檔案夾。如果你沒有Libraries檔案夾,在底部點擊New Folder按鈕並且建立它。

最後,選擇Libraries檔案夾並且點擊建立。

你儲存你的pod的目錄是很重要的因為在本地開發期間你需要在podFile中參考你的目錄。

通常,當你使用CocoaPods,你會像下面那樣將依賴性檔案加入你的Podfile中

1 pod  'PodName' ,  '~> 1.0'

但是當你在開發自己的CocoaPod,你卻需要指明一個本地的路徑,就像這樣:

1 pod  'MyPodName' , :path =>  '~/Path/To/Folder/Containing/My/Pod'

這種方法有兩個好處:

1.它會使用在你電腦上的對應的pod的本地檔案,而不用從遠端目錄下抓取。

2.通常,你不會修改加入到你的app中的pod,因為這些修改會在下次你運行pod install的時候被覆蓋掉,因為pod會從遠端目錄下重新擷取並且你修改的資源檔也會被覆蓋。通過使用:path => syntax,你可以輕鬆地修改開發中的pod而不會被這個過程覆蓋,因為那個路徑就是現在CocoaPod的來源,因此當你再次運行pod install的時候這些修改不會丟失。

然而你可以為你在開發的pods使用不同的路徑,一般我建議將他們放在~/Documents/Libraries下。如果你有一個團隊在開發的話這也是一個很好的位置,因為cocoapods知道把“~”擴充為使用者的目錄。因此你不需要在podFile中寫很複雜的代碼來表示絕對路徑。

你也可以在你建立的cocoapod中引用其他的cocoapod作為依賴性檔案-你只需要一個podFile來管理你的cocoaPods依賴性檔案。

關閉Xcode,然後在終端中輸入下面的命令列:

1 2 3 cd ~/Documents/Libraries/RWPickFlavor pod init
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.