我试图将数据库从 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;
}
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)