2012-12-07 44 views
2

我想使用本地數據庫存儲使用本地插件。由於Apple的基礎API採用純C語言,因此我想使用FBDB等第三方庫。理想情況下,我們的JavaScript將構建'查詢'並將其發送到我們的本地插件進行處理,但這不是絕對必要的。如何使用fmdb爲本機trigger.IO插件構建本機ios數據庫。

  1. 如何導入第三方庫供使用?我想包括FMDB library的哪些部分&我該如何着手添加libsqlite3.dylib? FMDB是否應該針對ForgeModule和ForgeModuleResources?我已經看過關於這個的docs,但我很難將這些指令專門用於FMDB。

  2. 你能給我一個更詳細的想法,看看這個好的文件結構是什麼樣子的嗎?

  3. 你甚至會推薦使用FMDB嗎?有沒有其他的選擇可以更好地處理觸發器?另外,ForgeInspector確實ARC是否正確?

基本上我正在尋找一個大綱以及一個sqlite包裝的建議。

謝謝!

回答

2
  1. 將第三方代碼添加到您的iOS插件中包括:http://docs.trigger.io/en/v1.4/modules/native/external_libraries.html#ios

    要使用FMDB,你應該包括repo.h.m文件複製到您的ForgeModule項目(記得把文件添加到您的ForgeModule目標):

    add FMDB files to project

    接下來,添加libsqlite3名爲.dylib框架,既ForgeModule目標(在ForgeModule項目)和ForgeInspector目標(在ForgeInspector項目):

    add libsqlite framework

    您還需要禁用ARC(fmdb.m)(也如上所示)。

    之後,您應該可以導入FMDB標題並使用ForgeInspector來試用您的插件。

    請注意,在上傳插件版本時,您需要添加iOS構建步驟以包含SQLite框架 - 請參閱http://docs.trigger.io/en/v1.4/modules/native/native_build_steps.html#add-ios-system-framework

  2. 如果你的插件被稱爲FMDB(我們會推薦它的命名空間更多,以避免衝突),你必須有fmdb_API.hfmdb_API.m - 我通常把他們內部自己的組,裏面自己的文件夾。我想也把第三方代碼在自己的組和文件夾,例如:

    % find fmdb FMDB_lib 
    fmdb 
    fmdb/fmdb_API.h 
    fmdb/fmdb_API.m 
    FMDB_lib 
    FMDB_lib/FMDatabase.h 
    FMDB_lib/FMDatabase.m 
    FMDB_lib/FMDatabaseAdditions.h 
    FMDB_lib/FMDatabaseAdditions.m 
    FMDB_lib/FMDatabasePool.h 
    FMDB_lib/FMDatabasePool.m 
    FMDB_lib/FMDatabaseQueue.h 
    FMDB_lib/FMDatabaseQueue.m 
    FMDB_lib/fmdb.m 
    FMDB_lib/FMResultSet.h 
    FMDB_lib/FMResultSet.m 
    
  3. 我們沒有使用FMDB內部,所以不具備與它的經驗負載。然而,我確實知道,試圖將C-centric API編入Objective-C代碼非常痛苦(我正在考慮AddressBook.framework)。 FMDB旨在解決SQLite的問題,所以它似乎是一個好主意。

相關問題