#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»)