初識BeeFramework

 由於最近的項目需要,Hybrid開發成爲我開始學習的新知識。很早之前就瞭解到兩個開發框架--BeeFramework 和 Samurai,但是由於本人一直沒有閒暇去研究,所以就一直擱置一旁了,最近纔開始進行深入的學習,但其實也就是入個門而已。

我是個純OC開發者,之前對XML和CSS並沒有什麼基礎,在此就簡單總結一下我初學Bee遇到的困難和問題吧。日後可以用來回顧,或者讓其他想要學習的人也有所參考。

爲什麼會選擇用Bee而不用Samurai呢?其實不是因爲Bee比Samurai強大,論強大和“新”來說,Samurai應該是比Bee要更優的。我選擇Bee的理由是因爲當前項目需要用到,而Bee已經更新了很久,基本穩定了,而Samurai還在成長,爲了避免因爲它的更新給我帶來更多的麻煩,所以我決定先用Bee,以後也會去學習使用Samurai。說的有點囉嗦了。言歸正傳。

Bee: https://github.com/gavinkwoe/BeeFramework
Samurai:https://github.com/hackers-painters/samurai-native

  • BeeFramework 簡介

    github:BeeFramework is a semi-hybrid framework that allows you to create mobile apps using Objective-C and XML/CSS for the iPhone and iPad and more, created and maintained by Gavin.Kwoe and QFish.

    BeeFramework是一個iOS應用開發框架,由國內開發者郭虹宇創立並且在Github上開源。經過一年多的發展,BeeFramework在Github上,得到了廣泛關注,有1000多的star數和400多的fork數。

    BeeFramework是一個semi-hybrid(半混合)框架,運用XML、CSS、Objective-C構建iOS應用,基於MVC,並且適用於大型App的開發,已經有諸如QQ空間、屈臣氏中國等相當成熟的產品。

    Bee的詳細說明文檔在項目的document目錄下–developer_manual

  • 新建Bee項目
  • 第一次嘗試
    我使用的BeeFramework版本是0.6.0,不同版本可能會有一些區別。
    以往新建一個工程一樣新建了一個Bee的Demo,並導入了framework文件夾和services文件夾,編譯發現#import <libxml/tree.h>報錯,錯誤原因是:'libxml/tree.h' file not found。這個問題其實很好解決,到網上搜一下就會得到答案,在Xcode4.2之後,可以在添加了libxml2.dylb之後,點擊左上角的project,然後進行Build Settings(這裏不管是Project還是targets都行),找到Search Paths選項卡,其下有Header Search Paths條目,雙擊debug選項,添加/usr/include/libxml2就行了。

    然而這個問題解決了以後就會出現ARC的問題。
    ARC問題
    因爲新建的工程是ARC的,而Bee的文件是MRC的。

    我做了這個操作,把所有文件都加上了-fno-objc-arc
    -fno-objc-arc

    但是又出現了新的問題。
    Conflicting types for 'echo'
    到這裏我沒有繼續,因爲這種方式實在是太繁瑣了,我認爲這應該不是正確的做法,當然也在交流羣中諮詢過高手、大神們,總之這個做法我放棄了。

    後來我看了一篇博客,也主要是這篇博客解決了我的問題。之前 別人給的意見沒有聽懂的也在這個博客中得到了答案。

博客地址:http://syxiaqj.github.io/2014/02/28/bee-learning-1/#0-tsina-1-24637-397232819ff9a47a7b7e80a40613cfe1 作者:浪花一朵朵

  • 第二次嘗試

    參照博客內容,我做了準備工作:
    1.下載BeeFramework
    2.下載Bee項目模板:Bee-Xcode-Template-master
    3.下載工具:xproj(作者QFish),用來批量進行ARC、非ARC混編的shell腳本。

然後開始新建項目

1.安裝Bee項目模板
解壓Bee-Xcode-Template-master,終端cd到該目錄,執行以下命令
    sh install.sh
2.新建Bee項目

新建Bee項目

運用模板新建的Bee項目,工程框架已經基本有了。

編譯一下會發現項目有錯誤,提示Bee.h引用找不到,因爲還沒有吧BeeFramework框架添加進來。

3.添加BeeFramework

在工程中添加BeeFramework框架項目中的 framework 文件夾

4.批量添加`-fno-objc-arc`

因爲BeeFramework是一個非RAC的框架,現在Xcode5.0以後新建的工程,都默認是ARC工程,所以需要對BeeFramework進行混編處理。
framework目錄下的所有文件都需要在Build Phases中添加-fno-objc-arc,但是文件非常多,一個個添加會比較麻煩。要麼用command或shift,但是我們還有個小工具可以用,xproj
具體使用方法在github中有,或者可以參考上面提到的博客。

當然還可以通過CocoaPods來管理BeeFramework。

此時再次編譯運行,就會發現沒有錯誤了,但是界面上什麼都沒有。

下一步就是來寫界面了。新建xml文件,這個在Bee的模板裏面有。xml本人不是很精通,先寫這麼多,我繼續研究研究去。

~第一次用markdown寫博客,格式還不是很會處理,見諒。~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章