小编Fre*_*sky的帖子

保存到 watchOS 2 文档文件夹

我的 iOS 应用程序将数据库发送到WatchKit (watchOS 2). 在WatchKit我使用以下代码来获取监视文档文件夹以保存新文件:

\n\n
NSURL* fileURL = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:@"MyDatabase.sqlite"];\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会产生一个 URL:

\n\n
@"file:///var/mobile/Containers/Data/PluginKitPlugin/47E13085-9030-4ED2-906F-01CBA323F07A/Documents/MyDatabase.sqlite"\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,当我调用该函数时:

\n\n
[[NSFileManager defaultManager] replaceItemAtURL:fileURL withItemAtURL:url backupItemName:nil options:0 resultingItemURL:nil error:&error];\n
Run Code Online (Sandbox Code Playgroud)\n\n

它抛出一个错误说:

\n\n
\n

错误域=NSCocoaErrorDomain代码=512“文件\xe2\x80\x9cMyDatabase.sqlite\xe2\x80\x9d无法\xe2\x80\x99t保存在文件夹\xe2\x80\x9cDocuments\xe2\x80\x9d中。” \n 错误域=NSCocoaErrorDomain 代码=513 “您\xe2\x80\x99t 无权保存文件\xe2\x80\x9cMyDatabase.sqlite\xe2\x80\x9d

\n
\n\n

我怎样才能找到一个允许我保存的文件夹?\n当然,这段代码在模拟器中工作得很好,所以我假设我错过了一些不太明显的东西。

\n\n

BR\n弗雷德里克

\n

objective-c watchos-2

5
推荐指数
1
解决办法
1665
查看次数

标签 统计

objective-c ×1

watchos-2 ×1