我很困惑..
设置:Xcode 9.4.1 (9F2000) 运行于:iOS 模拟器 iPhone 8 (11.4) sqlite3 配置:sqlite3_config(SQLITE_CONFIG_SERIALIZED);
1) “[logging] BUG IN CLIENT OF sqlite3.dylib:非法多线程访问数据库连接”在线错误
if(sqlite3_prepare_v2(_contactDB, query_stmt, -1, &statment, NULL) == SQLITE_OK )
==> EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
Run Code Online (Sandbox Code Playgroud)
我能做的就是改变
if(sqlite3_open([[self filepath] UTF8String], &db)!= SQLITE_OK)
Run Code Online (Sandbox Code Playgroud)
到
if (sqlite3_open_v2([[self filepath] UTF8String], &db, SQLITE_OPEN_READWRITE|SQLITE_OPEN_FULLMUTEX, NULL) != SQLITE_OK)
Run Code Online (Sandbox Code Playgroud)
但这引出了第二个问题
2)在我执行“模拟器”->“擦除所有内容和设置”后,运行应用程序会出现错误“libc++abi.dylib:以 NSException 类型的未捕获异常终止”
class AppDelegate: UIResponder, UIApplicationDelegate, PKPushRegistryDelegate
==> signal SIGABRT
Run Code Online (Sandbox Code Playgroud)
完整日志
[logging] API call with invalid database connection pointer
[logging] misuse at line 123231 of [2b0954060f]
[logging] API called with …Run Code Online (Sandbox Code Playgroud)