gpt4 book ai didi

ios - 我可以在 NSSearchPathDirectory.ApplicationDirectory 中保存文件/文件夹吗? NSSearchPathDirectory.DocumentDirectory 对我来说并不理想

转载 作者:行者123 更新时间:2023-11-29 01:30:56 25 4
gpt4 key购买 nike

iOS 8.4 | swift 2.1

当我尝试在 NSSearchPathDirectory.ApplicationDirectory 中创建新文件夹时,我在设备上出现了此错误(不过在模拟器中确实有效):

代码:

let docuPath:NSURL = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.ApplicationDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0])
ConstantsVO.imagePath = docuPath.URLByAppendingPathComponent("imagegallery")
if !NSFileManager.defaultManager().fileExistsAtPath(ConstantsVO.imagePath.path!)
{
do
{
try NSFileManager.defaultManager().createDirectoryAtPath(ConstantsVO.imagePath.path!, withIntermediateDirectories: true, attributes: nil)
}
catch let error as NSError
{
NSLog("\(error.localizedDescription)")
}
catch
{
print("general error - \(error)", terminator: "\n")
}
}

错误

2015-11-02 10:53:21.114 Elmo[218:5055] You don’t have permission to save the file “imagegallery” in the folder “Applications”. fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=4 "The file “imagegallery” doesn’t exist." UserInfo={NSURL=file:///var/mobile/Containers/Data/Application/48D90635-0D66-44C2-81CE-F67BAFDA819A/Applications/imagegallery, NSFilePath=/var/mobile/Containers/Data/Application/48D90635-0D66-44C2-81CE-F67BAFDA819A/Applications/imagegallery, NSUnderlyingError=0x16e7d540 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-700.0.59/src/swift/stdlib/public/core/ErrorType.swift, line 50

但是,使用 NSSearchPathDirectory.DocumentDirectory 确实对我有用,而且效果符合预期。但在我的应用程序中,我具有通过 iTunes 共享/导入的功能,因此我的 info.plist 中的“应用程序支持 iTunes 文件共享”为 TRUE - 这在 iTunes 中公开了 NSSearchPathDirectory.DocumentDirectory。我不希望通过我的应用程序保存的文件/文件夹在 iTunes 中暴露给用户。那么我应该在哪里保存文件/文件夹,但可以通过暴露 NSSearchPathDirectory.DocumentDirectory 来通过 iTunes 使用文件共享?

最佳答案

我发现这篇文章的答案很有帮助: Path directory usable in iOS

As far as I know only these are usable on iOS:

NSDocumentDirectory is Documents/ (persistent, backed up, may be visible in iTunes) NSLibraryDirectory is Library/
(persistent, backed up, not visibe to the user) NSCachesDirectory is Library/Caches/ (not backed up, may be cleared by system)

现在,在我使用 NSSearchPathDirectory.LibraryDirectory 后,设备上没有 NSFileManager 错误,我存储在 NSSearchPathDirectory 中的目录/文件也没有出现错误.LibraryDirectory 在 iTunes 共享选项卡中向用户公开。

太棒了!

关于ios - 我可以在 NSSearchPathDirectory.ApplicationDirectory 中保存文件/文件夹吗? NSSearchPathDirectory.DocumentDirectory 对我来说并不理想,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33471441/

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