2016-03-27 10 views
0

Angenommen, ich habe eine große interne Referenzdaten-SQLite-Datenbank mit meiner iOS-Anwendung gebündelt. Es wird nie zur Laufzeit geschrieben und kann sich nur mit einer neuen App-Version ändern.Schreibgeschützte SQLite-Datenbank im Anwendungspaket

Im Allgemeinen werden vorgenerierte SQLite-Datenbankdateien vor der Verwendung in das Bibliotheks- oder Benutzerdokumentverzeichnis der Anwendung kopiert, um Lesezugriff zu ermöglichen. Aber da dies in diesem Fall nicht erforderlich ist: Gibt es irgendeinen Schaden, ein potenzielles Leistungsproblem oder ein anderes Problem mit der Aufbewahrung der Datei im App-Bundle und der Verwendung von dort?

Mit anderen Worten:

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

Antwort

2

Dies sollte gut funktionieren. Geben Sie beim Öffnen der Datei das Flag SQLITE_OPEN_READONLY an und verwenden Sie sqlite3_open_v2(...).

Verwandte Themen