由于某些原因,当我在真正的iPhone上测试我的应用时,replaceItemAtUrl
无效。它适用于所有模拟设备,但不适用于实际的物理设备。手机和模拟器都在运行iOS 9.1
let documentsDirectoryURL = NSFileManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first! as NSURL
let fileManager: NSFileManager = NSFileManager.defaultManager()
do {
try NSFileManager().moveItemAtURL(location, toURL: documentsDirectoryURL.URLByAppendingPathComponent(downloadTask.response!.suggestedFilename!))
}
catch {
print("did not copy file")
}
do {
try fileManager.replaceItemAtURL(NSURL(fileURLWithPath: path!),
withItemAtURL: documentsDirectoryURL.URLByAppendingPathComponent(downloadTask.response!.suggestedFilename!),
backupItemName: nil,
options: NSFileManagerItemReplacementOptions.UsingNewMetadataOnly,
resultingItemURL: nil)
handleJsonUpdate()
}
catch {
print("oops")
}
打印" oops"在iPhone上,但在模拟器上更新文件。我尝试先复制文件,因为你可以看到,它可以在模拟器上运行....但是再次......不在手机上。