gpt4 book ai didi

ios - iOS 10 中的 sqlite3_prepare_v2 exc_bad_access

转载 作者:IT王子 更新时间:2023-10-29 06:26:52 24 4
gpt4 key购买 nike

我在我的 iOS 项目中使用 sqlite 作为数据库。在 iOS 9 中,一切都完美运行。现在我更新了新的 Xcode。但是应用程序在“sqlite3_prepare_v2”处多次崩溃。

此外,我不会超时关闭数据库。并且只打开一次。我在调试中的下面的代码 b'acs 中添加了打开的数据库,我关闭了数据库。但还是崩溃了。

crash

谁能帮帮我?

提前致谢

最佳答案

我认为问题出在第 2592 行。

传递给 sqlite3_key(...) 时,不要将 key 视为字符串不确定如何生成 key ,但如果第一个字节设置为 '\0',则 strlen 返回 0(如果你使用一些基于 NSData 随机字节的自动生成的助手,这可能会经常发生)

sqlite3_key 定义:

SQLITE_API int SQLITE_STDCALL sqlite3_key(sqlite3 *db, const void *pKey, int nKey)

它期望 nKey 字节,其中也允许“\0”

改为尝试:

 NSData *passBytes = [g_sqlite_key dataUsingEncoding:NSUTF8StringEncoding];
int status = sqlite3_key(contactDB, passBytes.bytes, passBytes.length);
if (status != SQLITE_OK) {
// handle error and return
}
// continue...

关于ios - iOS 10 中的 sqlite3_prepare_v2 exc_bad_access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39916124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com