ios – 无法从移动或模拟器文件系统加载NSData(contentsOfFile:文件路径),但它可以从OS X文件系统运行

ios – 无法从移动或模拟器文件系统加载NSData(contentsOfFile:文件路径),但它可以从OS X文件系统运行,第1张

概述我下载了一个包含 XML文件的ZIP文件.我用SSZipArchive解压缩文件并将文件保存在目录/库下的应用程序沙箱中. 例如: /var/mobile/Containers/Data/Application/0A0091C2-7BC5-484F-BDBB-B2ABF305BB09/ 完整的绝对文件路径是: /var/mobile/Containers/Data/Application/0A00 我下载了一个包含 XML文件的ZIP文件.我用SSZipArchive解压缩文件并将文件保存在目录/库下的应用程序沙箱中.

例如:

/var/mobile/Containers/Data/Application/0A0091C2-7BC5-484F-BDBB-B2ABF305BB09/

完整的绝对文件路径是:

/var/mobile/Containers/Data/Application/0A0091C2-7BC5-484F-BDBB-B2ABF305BB09/libary/bgb.xml

问题很奇怪,因为如果我将模拟器中的文件路径(作为绝对路径)更改为我的/Download/bgb.xml目录,我可以加载该文件.

这是我的代码:

var filepath = IOOPs().getDirectoryPath().stringByAppendingString("/bgb.xml")    if(NSfileManager.defaultManager().fileExistsAtPath(filepath)){         print(" file xml existIErt")        var filedata : NSData        if let tmpData = NSData(contentsOffile: filepath){         parser =   NSXMLParser(data: NSData(contentsOffile: filepath)!)        }    }    parser.delegate = self    parser.parse()

fileExistsAtPath(文件路径) – >评估为真
NSData(contentsOffile:filepath) – >评估Null / Nil

只有来自模拟器或移动设备的带路径才会出现此问题.

这是下载和解压缩的代码:

let datei = NSData(contentsOfURL: NSURL(string: "http://www.gesetze-im-internet.de/bgb/xml.zip")!)!     print ( getDirectoryPath())    print("bgb.zip")    speicherGesetzAufMobilemEndgerät(getDirectoryPath().stringByAppendingString("/bgb.zip"),datei: datei  )    unzipfile(getDirectoryPath().stringByAppendingString("/bgb.zip"),destinationPath: getDirectoryPath().stringByAppendingString("/bgb.xml") ) func unzipfile(myZipfile: Nsstring,destinationPath : Nsstring){    let unZipped = SSZipArchive.unzipfileAtPath(myZipfile as! String,toDestination: destinationPath as! String);}
解决方法 尝试从本地路径创建NSURL:

NSData(contentsOfURL: NSURL(fileURLWithPath: filePath))
总结

以上是内存溢出为你收集整理的ios – 无法从移动或模拟器文件系统加载NSData(contentsOfFile:文件路径),但它可以从OS X文件系统运行全部内容,希望文章能够帮你解决ios – 无法从移动或模拟器文件系统加载NSData(contentsOfFile:文件路径),但它可以从OS X文件系统运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存