我的iOS应用程序将数据库发送到WatchKit(watchOS 2)
。在WatchKit
中,我使用以下代码获取手表文档文件夹以保存新文件:
NSURL* fileURL = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:@"MyDatabase.sqlite"];
这将产生一个URL:
@"file:///var/mobile/Containers/Data/PluginKitPlugin/47E13085-9030-4ED2-906F-01CBA323F07A/Documents/MyDatabase.sqlite"
然而,当我调用该函数时:
[[NSFileManager defaultManager] replaceItemAtURL:fileURL withItemAtURL:url backupItemName:nil options:0 resultingItemURL:nil error:&error];
它会抛出一个错误,内容如下:
Error Domain=NSCocoaErrorDomain Code=512 "文件“MyDatabase.sqlite”无法保存在文件夹“文档”中。" Error Domain=NSCocoaErrorDomain Code=513 "您没有权限保存文件“MyDatabase.sqlite”。
我该如何找到可以保存的文件夹?当然,在模拟器中这段代码运行良好,因此我认为我可能遗漏了一些不太明显的东西。
敬礼, Frederik