Я пытаюсь поделиться SQLite из основного приложения с расширением общего доступа, чтобы обновить, вставить и удалить несколько строк из общего расширения в том же SQLite. Мне нужно, чтобы информация была синхронизирована между ними.
#ifndef APP_EXTENSION
dbPath = (NSString *)[[(AppDelegate*)[[UIApplication sharedApplication] delegate] libGo2FactPath] stringByAppendingPathComponent:GoFactMDB];
#else
NSURL *appGroupDirectoryPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier: @"group.com.sdfsdfsdfsdfsdfsdf.GofsdfsdfsdFactDB"];
NSURL *dataBaseURL = [appGroupDirectoryPath URLByAppendingPathComponent: GoFactMDB];
// NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
// NSString *libGo2FactPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Go2Fact"];
// dbPath = storeURL.absoluteString;
#endif
fileMgr = [NSFileManager defaultManager];
// Check if the database exist
if (![fileMgr fileExistsAtPath:dbPath])
{
// If database doesn't exist, copy from the database template in the bundle
NSString* fileName = [[GoFactMDB lastPathComponent] stringByDeletingPathExtension];
NSString* extension = [GoFactMDB pathExtension];
NSString* dbTemplatePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSError* error = nil;
[fileMgr copyItemAtPath:dbTemplatePath toPath:dbPath error:&error]; //FIXME: if database not existing
if (error)
{
//FIXME: xx
NSLog(@"can't copy db.");
return;
}
}
Любые идеи.