1. 程式人生 > >Masonry 和 CocoaPods 介紹及安裝步驟

Masonry 和 CocoaPods 介紹及安裝步驟

Masonry 和 cocopods 介紹及安裝步驟

Masonry 是什麼、有什麼用?

  • 作用:一個輕量級的佈局框架, 封裝了OC的自動佈局。
  • 特點:採用鏈式語法、簡潔明瞭、可讀性高。
  • 平臺:支援IOS、OSX。

安裝方法(兩種方法):

  • 方法一、從github下載原始碼匯入專案。(測試版本: Masonry 0.6.1)
  • 方法二、用cocopods管理。
  • 本文紹介方法一及cocopods的安裝和使用,方法二測試沒有成功過,待續。

從github下載原始碼匯入專案。(測試版本: Masonry 0.6.1):

  • 總步驟有:獲取原始碼、將原始碼加入專案、定義兩個巨集、引用Masonry.h。
    1. 解包後將Masonry資料夾複製到自己的專案資料夾裡;
    2. 用XCODE開啟自己的專案,將Masonry資料夾拖入專案,選擇COPY;
    3. 定義兩個巨集:
      #define MAS_SHORTHAND //use Masonry without the 'mas_' prefix
      #define MAS_SHORTHAND_GLOBALS //enable auto-boxing for default syntax
    4. 引用標頭檔案即可使用:
      #import "Masonry.h"
    5. 可新增程式碼自動完成: 原始碼解包後複製CodeSnippets資料夾內的所有檔案到~/Library/Developer/Xcode/UserData/CodeSnippets即可。
  • 注:步驟4和5可以用一個PCH檔案實現專案的所有檔案自動引用相關定義。
    另外原始碼包解開後有一個README.MD檔案,可以看看裡面的 ‘## Installation’ 一節

* Xcode6/7 中新增 pch 檔案的步驟:*

  1. 在專案裡 (建議新增到 Supporting Files 組裡) 新增一個.pch檔案:
  2. 建立檔案: right clicked > New File > IOS或OSX > Other > PCH FILE > NEXT > 設定一個名字然後儲存.
  3. 將pch檔案完事路徑新增到XCODE6: project > Build Settings > Search “prefix” > find ‘Prefix Header’, enter ‘$(SRCROOT)/path/xxx.pch’。(不要引號, build , release 兩個都要新增);
  4. 將Precompile Prefix Header為YES;
  5. Clean 並且 build 你的專案.
  6. 配置”xxx.pch檔案內容”, 如果一切正常,即可使用:
  7. xxx.pch內容:
#ifdef __OBJC__ 

//define this constant if you want to use Masonry without the 'mas_' prefix
#define MAS_SHORTHAND

//define this constant if you want to enable auto-boxing for default syntax
#define MAS_SHORTHAND_GLOBALS

#import "Masonry.h"

#endif

cocopods是什麼有什麼用?

  • 作用:下載、管理IOS(測試過OC專案)專案的第三方庫,建立一個Xcode的workspace來將這些第三方庫和我們的工程相連線。
  • 特點:自動化的、集中的、直觀的管理第三方開源庫。

安裝CocoaPods:

  1. CocoaPods需要Ruby環境,OSX自帶。直接執行命令:
    $ sudo gem install cocoapods

    備註:蘋果系統升級 OS X EL Capitan 後改為
    $sudo gem install -n /usr/local/bin cocoapods

  2. 安裝結束的時後,執行以下命令:
    $ pod setup

    注意: 會下載100M多流量, 有點久, 可用 Activity Monitor 看看進度.

  3. 安裝可能遇到的問題:

    1. 如果沒有反應,可能是https被牆,用以下命令更換域名:
      $ gem sources --remove https://rubygems.org/
      $ gem sources -a https://ruby.taobao.org/
      $ gem sources -a http://ruby.taobao.org/
      //要想驗證是否替換成功了,可以執行:
      $ gem sources -l
      //正常的輸出是:
      *** CURRENT SOURCES ***
      https://ruby.taobao.org/
      http://ruby.taobao.org/
    2. gem版本過老
      gem是管理Ruby庫和程式的標準包,如果它的版本過低也可能導致安裝失敗,解決方案自然是升級gem,執行下述命令即可:
      $ sudo gem update --system
    3. 執行 pod setup 報錯:
      /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (= 0) among 6 total gem(s) (Gem::LoadError)
      from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
      from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
      from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'

      這就是路徑設定的問題,執行下列命令解決問題:
      $ rvm use ruby-1.9.3-p448
  4. 升級CocoaPods
    升級很簡單,再次執行安裝命令即可
    $ sudo gem install cocoapods
  5. 重新安裝本地庫
    $ pod repo remove master
    $ pod setup
  6. 更新本地庫
    $ pod repo update master

使用CocoaPods

  1. 進入專案目錄, 建立Podfile: CocoaPods的一切都是從一個名為Podfile的檔案開始的,先建立。
    $touch Podfile
  2. 編輯Podfile(以安裝Masonry為例)
    pod 'Masonry'
  3. 在Podfile檔案所在目錄,執行下列命令安裝三方庫:
    $ pod install
    執行完成後,工程的根目錄下多了三個東西:CocoaPodsTest.xcworkspace、Podfile.lock檔案和Pods目錄。
  4. 以前的工程檔案不使用了,現在使用xxx.xcworkspace檔案, 開啟它就是我們的專案.
  5. 工程發生了以下變化:
    1. 第三方庫會被編譯成靜態庫供我們正真的工程使用:
      CocoaPods會將所有的第三方庫以target的方式組成一個名為Pods的工程,該工程就放在剛才新生成的Pods目錄下。整個第三方庫工程會生成一個名稱為libPods.a的靜態庫提供給我們自己的CocoaPodsTest工程使用。
    2. 我們的工程和第三方庫所在的工程會由一個新生成的workspace管理
      為了方便我們直觀的管理工程和第三方庫,CocoaPodsTest工程和Pods工程會被以workspace的形式組織和管理,也就是我們剛才看到的CocoaPodsTest.xcworkspace檔案。原來的工程設定已經被更改了,這時候我們直接開啟原來的工程檔案去編譯就會報錯,只能使用新生成的workspace來進行專案管理。
  6. 使用一段時間後, 出現莫名其妙的錯誤時, 可更新一下看看:
    sudo gem update —system
    sudo gem install cocoapods
    pod setup
    —完—