gpt4 book ai didi

objective-c - 保存到 watchOS 2 文档文件夹

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:37 27 4
gpt4 key购买 nike

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

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 "The file “MyDatabase.sqlite” couldn’t be saved in the folder “Documents”." Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “MyDatabase.sqlite”

如何找到允许我保存到的文件夹?自然地,这段代码在模拟器中运行良好,所以我假设我遗漏了一些不太明显的东西。

BR弗雷德里克

最佳答案

我认为您的问题是 Apple Watch 扩展无法将文件保存到其文档目录。我能够使用应用程序组保存文件。将应用程序组添加到您的权利,然后您应该能够写入以下目录:

let path = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.my.cool.watch.app")

关于objective-c - 保存到 watchOS 2 文档文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32912127/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com