Я пытаюсь скопировать базу данных с iOS 9 iPhone на watchOS 2 Apple Watch (оба симулятора) и ничего. Файл/файлы есть/негде найти. (искал везде)
Я хочу перенести базу данных при входе в приложение с iPhone на Apple Watch, даже если включено только приложение на iPhone (приложение на watchOS2 выключено). Что я делаю не так?
+(BOOL)initDatabase{
BOOL ok = NO;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *err;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"database.sqlite"];
ok = [fileManager fileExistsAtPath:writableDBPath];
if (!ok){
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"database.sqlite"];
ok = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&err];
if (!ok) {
NSAssert1(0, @"Failed to create writable database. Error: '%@'.", [err localizedDescription]);
}
}
if ([WCSession isSupported]) {
WCSession* session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
NSLog(@"watch url: %@",session.watchDirectoryURL);
// session.watchDirectoryURL;
}
[[WCSession defaultSession] transferFile:[NSURL fileURLWithPath:writableDBPath] metadata:nil];
[[Config sharedInstance] addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:writableDBPath]];
ok = [fileManager fileExistsAtPath:writableDBPath];
if (ok){
databasePath = writableDBPath;
database = [FMDatabase databaseWithPath:writableDBPath];
[database open];
NSLog(@"database path: %@",databasePath);
}
return ok;
}