доступен ли FTS в сборке SQLite для iOS?

#objective-c #sqlite

#objective-c #sqlite

Вопрос:

Я заинтересован в использовании возможности полнотекстового поиска в SQLite.

Я понимаю, что он не был скомпилирован в версию для iPhone / iOS.

Это все еще так?

Комментарии:

1. Я не специалист по iPhone / iOS, но не было бы возможности связать вашу библиотеку SQLite с поддержкой FTS в вашей программе? По крайней мере, статически должно работать.

Ответ №1:

Он недоступен в стандартной сборке sqlite3 на iOS, но вы все равно можете его использовать.

Лучший способ использовать его — загрузить объединение sqlite3 и настроить его для FTS3. Добавьте файлы sqlite3.c и sqlite3.h в свой проект и удалите sqlite3 из списка фреймворков в вашем приложении.

Статическое добавление его таким образом будет работать идеально.

Комментарии:

1. В проекте мы используем coredata. Возникнут ли у меня проблемы, если я удалю sqlite3 из фреймворков моего проекта?

2. Да, у вас возникнет проблема. Core Data извлекается из стандартной сборки SQLite.

3. В iOS 10.2 (возможно, намного раньше) проверка с помощью "PRAGMA compile_options;" , похоже, указывает на поддержку: ( «COMPILER=clang-8.0.0 (clang-800.2.34)», «ENABLE_API_ARMOR», «ENABLE_FTS3», «ENABLE_FTS3_PARENTHESIS», «ENABLE_JSON1», «ENABLE_LOCKING_STYLE=1», «ENABLE_RTREE», » ENABLE_UPDATE_DELETE_LIMIT», «HAS_CODEC», «HAVE_ISNAN», «MAX_MMAP_SIZE=20971520», «OMIT_AUTORESET», «OMIT_BUILTIN_TEST», «OMIT_LOAD_EXTENSION», «SYSTEM_MALLOC», «THREADSAFE=2»)