我正在尝试使用以下代码将文件从捆绑包复制到iOS中的documents目录中。
let bundlePath = NSBundle.mainBundle().pathForResource("information", ofType: ".png")
print(bundlePath, "\n") //prints the correct path
let destPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first!
let fileManager = NSFileManager.defaultManager()
let fullDestPath = NSURL(fileURLWithPath: destPath).URLByAppendingPathComponent("information.png")
let fullDestPathString = String(fullDestPath)
print(fileManager.fileExistsAtPath(bundlePath!)) // prints true
do{
try fileManager.copyItemAtPath(bundlePath!, toPath: fullDestPathString)
}catch{
print("\n")
print(error)
}
错误域= NSCocoaErrorDomain代码= 4“文件“ information.png”不存在。” UserInfo = {NSSourceFilePathErrorKey = /用户/ macbookpro / Library / Developer / CoreSimulator / Devices / E58CA1C6-C6F1-4D72-9572-3925675E78A5 / data / Containers / Bundle / Application / EFA83E02-5F24-4BB3-B32A-7E755081A730 / AutoLayout tuts.app /information.png、NSUserStringVariant=(复制),NSDestinationFilePath = file:/// Users / macbookpro / Library / Developer / CoreSimulator / Devices / E58CA1C6-C6F1-4D72-9572-3925675E78A5 / data / Containers / Data / Application / 86A1BDD5- FAF2-486E-85A9-CF72A547C6CD / Documents / information.png,NSFilePath = /用户/ macbookpro / Library / Developer / CoreSimulator / Devices / E58CA1C6-C6F1-4D72-9572-3925675E78A5 / data / Containers / Bundle / Application / EFA83E02-5F24 -4BB3-B32A-7E755081A730 / AutoLayout tuts.app/information.png,
根据fileManager.fileExistsAtPath()
文件确实存在。我究竟做错了什么?
问题是这一行:
let fullDestPathString = String(fullDestPath)
它应该是:
let fullDestPathString = fullDestPath.path
查看错误。问题是目的地。请注意file:///
。您的代码未正确将URL转换为文件路径。您需要使用的path
属性NSURL
以字符串形式获取路径。
在所有调试和检查中,您从未验证过的值fullDestPathString
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句