【问题标题】:ios sqlite fts extensions "no such module fts4" errorios sqlite fts 扩展“没有这样的模块 fts4”错误
【发布时间】:2014-01-27 09:23:02
【问题描述】:

我正在尝试根据本教程 (here) 使用 CoreDataFMDB 设置索引数据库

我是ios初学者,添加的时候可能会出错

SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS3_PARENTHESIS 宏。

我将它们添加到其他 C 标志中。

这是我的代码:

- (void) setIndexDatabase
{
    // Create (or open) our database
    NSString *dbPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    dbPath = [dbPath stringByAppendingPathComponent:@"Index.sqlite"];

    // Using the FMDatabaseQueue ensures that we don't accidentally talk to our database concurrently from two different threads
    FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:dbPath];
    [queue inTransaction:^(FMDatabase *db, BOOL *rollback) {
        [db executeUpdate:@"CREATE VIRTUAL TABLE IF NOT EXISTS docs USING fts4(name, contents);"];
    }];

    //Add content to index
    [queue inDatabase:^(FMDatabase *db) {
        [db executeUpdate:@"INSERT INTO docs (name, contents) VALUES(?, ?);", @"doc1", @"She sells sea shells by the sea shore."];
    }];

    //Search
    __block NSMutableArray *matches = [NSMutableArray array];
    [queue inDatabase:^(FMDatabase *db) {
        FMResultSet *resultSet = [db executeQuery:@"SELECT name FROM docs WHERE docs MATCH ?", @"she*"];
        while ([resultSet next]) {
            [matches addObject:[resultSet stringForColumn:@"name"]];
        }
    }];
}

编辑:

数据库错误:1“没有这样的模块:fts4”

我在应用程序委托中的 didFinishLaunchingWithOptions 方法中调用此函数

【问题讨论】:

  • 出现什么错误,什么时候出现
  • 请编辑问题
  • iPhone官方没有fts4,而且ios6之前肯定没有
  • 你的部署目标是什么?
  • 错误,当它出现时被添加到问题中

标签: ios sqlite xcode5 fts4


【解决方案1】:

只是为了确认;如果您的目标是 iOS 6 或更高版本,则无需构建自己的 SQLite 即可获得 FTS。

【讨论】:

    【解决方案2】:

    发生此错误是因为 SQLite 的构建不包含 FTS 模块。我尝试了另一种方法来克服它。我删除了所有关于 SQLite 和 FMDB 的文件。然后,我使用 podfile 将 FMDB 添加到我的项目中,并且成功运行。

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2015-05-25
      • 2020-09-06
      • 1970-01-01
      • 2016-11-18
      • 2023-03-16
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多