Как создать собственную базу данных ios с помощью fmdb для собственного плагина trigger.IO.

Я бы хотел использовать собственную базу данных для хранения, используя собственный плагин. Поскольку базовый API Apple находится в чистом C, я бы хотел использовать стороннюю библиотеку, такую ​​как FBDB. В идеале наш javascript построит «запрос» и отправит его нашему родному плагину для обработки, но это не является абсолютно необходимым.

  1. Как мне импортировать стороннюю библиотеку для использования? Какие части библиотеки FMDB я хочу включить и как я могу добавить добавление libsqlite3.dylib? Должен ли FMDB также нацелить ForgeModule и ForgeModuleResources? Я просмотрел документы, касающиеся этого, но я затрудняюсь применять эти инструкции для FMDB специально.

  2. Можете ли вы дать мне более подробное представление о том, какая хорошая файловая структура будет выглядеть для этого?

  3. Вы бы даже рекомендовали использовать FMDB, есть ли альтернативные варианты, которые лучше работают с триггером? Кроме того, ForgeInspector делает ARC правильно?

В основном я ищу схему, а также рекомендацию обложки sqlite.

Благодаря!

  1. В том числе сторонний код для вашего плагина iOS описан здесь: http://docs.trigger.io/en/v1.4/modules/native/external_libraries.html#ios .

    Чтобы использовать FMDB, вы должны включить репо и скопировать файлы .h и .m в свой проект ForgeModule (не забудьте добавить файлы в цель ForgeModule):

    добавить файлы FMDB в проект

    Затем добавьте инфраструктуру libsqlite3.dylib как для цели ForgeModule (в проекте ForgeModule), так и для цели ForgeInspector (в проекте ForgeInspector):

    добавить библиотеку libsqlite

    Вам также необходимо отключить 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.h и fmdb_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, так что это кажется хорошей идеей.