ios - 应用程序包中的只读 SQLite 数据库

标签 ios sqlite nsbundle

假设我已将大型内部引用数据 SQLite 数据库与我的 iOS 应用程序捆绑在一起。它永远不会在运行时写入,并且可能只会随着新的应用程序版本而更改。

通常,预生成的 SQLite 数据库文件在使用之前会被复制到应用程序的库或用户文档目录中,以允许读取访问。但由于在这种情况下不需要:将文件保留在应用程序包中并从那里使用它是否有任何危害、潜在的性能问题或其他问题?

换句话说:

let myBundledDatabase = NSBundle.mainBundle().pathForResource("MyDatabase", ofType: "db")!
sqlite3_open(myBundledDatabase, // ...

最佳答案

这应该可以正常工作。打开文件时指定 SQLITE_OPEN_READONLY 标志并使用 sqlite3_open_v2(...)

关于ios - 应用程序包中的只读 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243011/

相关文章:

ios - 无法在启用自动布局的情况下设置 UIButton 框架的大小

安卓:SQLiteOpenHelper.getDatabaseLocked

cocoa - pathForResource 不起作用

ios - NSBundle mainBundle pathForResource : Not working unless @2x included

ios - NSBundle pathForResource 不适用于子目录本地化?

ios - Mobile Safari iOS 9.3 发出多个 HTTP 请求,最终显示错误

iOS自适应 View ;自适应约束?

ios - Firebase 动态链接在 iOS gmail 上不起作用

python - 如何使用enable_load_extension()?

java - SQLite中如何进行递归查询?