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) throw CoreStoreError(error)
} }
let externalStorageDirName = "." + fileURL.deletingPathExtension().lastPathComponent + "_SUPPORT"
let temporaryExtenralStorageURL = temporaryDirectoryURL.appendingPathComponent(
externalStorageDirName,
isDirectory: true
)
do { do {
try fileManager.replaceItem( try fileManager.replaceItem(
@@ -806,11 +811,23 @@ public extension DataStack {
resultingItemURL: nil 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 progress.completedUnitCount = progress.totalUnitCount
} }
catch { catch {
_ = try? fileManager.removeItem(at: temporaryFileURL) _ = try? fileManager.removeItem(at: temporaryFileURL)
_ = try? fileManager.removeItem(at: temporaryExtenralStorageURL)
throw CoreStoreError(error) throw CoreStoreError(error)
} }
} }