Migrate external storage

This commit is contained in:
Zheng-Xiang Ke
2018-01-06 10:22:44 +08:00
parent 4b9fddad6a
commit 51961dd737

View File

@@ -796,6 +796,11 @@ public extension DataStack {
throw CoreStoreError(error)
}
let externalStorageDirName = "." + fileURL.deletingPathExtension().lastPathComponent + "_SUPPORT"
let temporaryExtenralStorageURL = temporaryDirectoryURL.appendingPathComponent(
externalStorageDirName,
isDirectory: true
)
do {
try fileManager.replaceItem(
@@ -806,11 +811,23 @@ public extension DataStack {
resultingItemURL: nil
)
if fileManager.fileExists(atPath: temporaryExtenralStorageURL.path) {
let extenralStorageURL = fileURL.deletingLastPathComponent().appendingPathComponent(externalStorageDirName, isDirectory: true)
try fileManager.replaceItem(
at: extenralStorageURL as URL,
withItemAt: temporaryExtenralStorageURL,
backupItemName: nil,
options: [],
resultingItemURL: nil
)
}
progress.completedUnitCount = progress.totalUnitCount
}
catch {
_ = try? fileManager.removeItem(at: temporaryFileURL)
_ = try? fileManager.removeItem(at: temporaryExtenralStorageURL)
throw CoreStoreError(error)
}
}