升级到 Xcode 7 后无法写入文档目录
Posted
技术标签:
【中文标题】升级到 Xcode 7 后无法写入文档目录【英文标题】:Unable to Write to Documents Directory after upgrading to Xcode 7 【发布时间】:2015-09-20 22:06:09 【问题描述】:升级到 Xcode 7 后,我尝试重新运行我的应用程序,但现在出现以下错误:
您无权将“PDF”文件保存在“Documents”文件夹中。
我无法弄清楚问题是什么,请有人帮忙。我已经尝试过清除派生数据并清理我的项目。
我看到了这个帖子,但没有一个解决方案有帮助 -> Error while build project Xcode says: "you don't have permission"
已更新 - 这是我的代码:
var docsDirNew: NSURL!
var currentPath: String!
docsDirNew = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let unknown = docsDirNew.URLByAppendingPathComponent(dirPath)
currentPath = "\(unknown)"
var error: NSError?
do
try filemgr.createDirectoryAtPath(currentPath, withIntermediateDirectories: true, attributes: nil)
Scripts.logClass(className, message: "fileOperationsCreateDirectory >> CREATE Directory SUCCESS")
catch let error1 as NSError
error = error1
Scripts.logClass(className, message: "fileOperationsCreateDirectory >> CREATE Directory FAILED >> \(error!.localizedDescription)")
【问题讨论】:
用您的代码更新您的问题,以获取 Documents 文件夹引用并尝试向其中写入文件。 【参考方案1】:这一行:
currentPath = "\(unknown)"
应该从来没有工作过。应该是:
currentPath = unknown.path
您的原始代码依赖于NSURL description
方法的任意实现。
【讨论】:
说实话,我最初并没有那条线。我刚刚添加它试图调试为什么我的程序在升级到 XCode 7 后崩溃,因为我注意到 stringByAppendingPathComponent 已被弃用。无论哪种方式,非常感谢您的帮助,因为该线路有效。现在我知道用什么来获取路径的字符串值了。以上是关于升级到 Xcode 7 后无法写入文档目录的主要内容,如果未能解决你的问题,请参考以下文章
升级到 Xcode 10 后,无法快速识别 Objective C 类
升级到 Xcode 4.2 和 iOS5 后,应用程序无法在 iPhone 上运行
升级到 iOS 9 和 MobileFirst 7.1 后无法登录设备或模拟器上的应用程序