我正在尝试使用iOS 9 NSFileManager's
moveItemAtURL
:
do {
print(localURL) // http://localhost:3000/api/v1/activities
print(cacheFile) // file:///Users/kyledecot/Library/Developer/CoreSimulator/Devices/35C03988-D8F5-42E5-AB35-B99BE461EEAE/data/Containers/Data/Application/69593B3A-F764-4BC3-89AD-72B701BF85C8/Library/Caches/activities.json
try fileManager.moveItemAtURL(localURL, toURL: cacheFile)
} catch let error as NSError {
print(error)
}
捕获错误时,我得到:
错误域= NSCocoaErrorDomain代码= 262“由于不支持URL类型http,因此无法打开文件“活动”。UserInfo = {NSURL = http:// localhost:3000 / api / v1 / activities }
我已经为我添加了适当的值,Info.plist
以确保ATS满意(请参见屏幕截图)。奇怪的是,我能够使用HTTP(通过dataTaskWithRequest:
)从本地服务器下载数据,但是NSFileManager然后在尝试执行时抱怨相同的URL moveItemAtURL
。
这里有两件事要知道:
在iOS 9中,默认情况下http://
不支持。您必须与进行安全通信https://
。您可以根据需要在Info.plist中关闭此功能。
NSFileManager URL必须是磁盘上文件的路径-即,它们必须是文件URL。你不是 这是一个http://
URL。如果您的目标是下载文件然后将其复制到某处,请使用NSURLSession的下载任务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句