Cocoapods相關筆記

我的經常使用的Profile中的庫

platform :ios, '8.0'  
inhibit_all_warnings!
use_frameworks!

pod 'GPUImage', '~> 0.1.7' 
pod 'AFNetworking', '~> 2.0' #網絡請求
pod 'MJRefresh', '~> 3.1.0' #上下拉刷新
pod 'FMDB' #數據庫
pod 'SVProgressHUD', '~> 2.0.3' #alert提醒
pod 'Masonry', '~> 1.0.0' #屏幕適配
pod 'SDWebImage', '~> 3.7.1' #加載網絡圖片
pod 'SSKeychain', '~> 1.2.2' #緩存本地帳號密碼, 自動登陸
pod 'IQKeyboardManager', '~> 3.2.0.3' #鍵盤管理
pod 'DZNEmptyDataSet', '~> 1.5.1' #tableView無數據佔位圖
pod 'JSPatch' #熱補丁修復
pod 'ReactiveCocoa', '~> 4.1.0' #NB的框架
pod 'KSCrash', '~> 1.6.0'

cocoapods原理

cocoapods將全部的依賴庫放到一個名爲Pods的項目中, 而後主項目依賴Pods項目, 這樣, 源碼管理工做都從主項目轉移到了Pods項目中.ios

  1. Pods項目最終會編譯生成一個libPods.a的文件, 主項目只需依賴這個.a文件便可.
  2. 對於資源文件, cocoapods提供一個名爲Pods-resourses.sh的bash腳本, 該腳本在每次項目編譯時候都會執行, 將第三方的各類資源文件複製到目標目錄中.
  3. cocoapods經過名爲Pods.xcconfig的文件來在編譯時設置全部的依賴和參數.

cocoapods運做原理:git

cocoapods是一個開源的項目, 用Ruby寫的, 代碼託管在github上面. cocoapods功能實現依賴一個.spec文件, spec文件描述一個開源庫在項目中的配置, 每一個開源庫都有一個spec文件, 這些spec文件統一託管在github上的cocoapods項目中, 若是咱們須要將本身造的輪子添加pod依賴, 只需寫一個spec文件, 並傳到cocoapods的項目中去, 這時候經過pod search XXX便可查找到本身的項目.github

其它

其它技術博客的講解數據庫

唐巧, cocoapods基本講解: http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/緩存

cocoapods入門: http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/bash

編寫一個spec文件: http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/網絡

注意事項:

  1. 在項目中添加依賴庫以後, 是不能直接找到頭文件的, 須要進行設置:

Target > Build Setting > User Header Search Paths 中添加變量: ${SRCROOT}, 並設置recursive.框架

  1. cocoapods引用ReactiveCocoa遇到的錯誤

如圖:ui

如圖

解決: 加一句話 use_frameworks!code

platform :ios, '8.0'  
use_frameworks!
相關文章
相關標籤/搜索