我正忙着为我的应用程序创建一个 iOS 8 Today 扩展。我想从我的扩展访问我的 SQLite(不是核心数据)数据库。在网上搜索了一下,我发现我需要一个 App Group。所以我为我的应用创建了一个应用组,名为“group.AppName”。
使用以下代码,我在 NSDocumentDirectory 中创建了一个 SQLite 数据库。但是 App Extensions 不能访问 NSDocumentDirectory。这就是为什么我想将 SQLite 数据库保存在我的 App Group 中。
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath = [path objectAtIndex:0];
dbPathString = [docPath stringByAppendingPathComponent: @"dbName.db"];
char *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
if(![fileManager fileExistsAtPath:dbPathString])
{
const char *dbPath = [dbPathString UTF8String];
if(sqlite3_open(dbPath, &treinAppDB) == SQLITE_OK)
{
const char *sql_stat = "CREATE TABLE IF NOT EXISTS table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, code TEXT, lat TEXT, lon TEXT)";
sqlite3_exec(appDB, sql_stat, NULL, NULL, &error);
sqlite3_close(appDB);
}
}
我不知道如何在我的 App Group 中创建这个数据库,所以我可以从我的 Today 扩展中访问该数据库。
有人可以帮我解决这个问题吗?那很好啊!