|
@@ -108,12 +108,31 @@ class FileProviderItem: NSObject, NSFileProviderItem {
|
|
|
// Verify file exists on cache
|
|
|
if (!metadata.directory) {
|
|
|
|
|
|
- let identifierPathUrl = groupURL!.appendingPathComponent("File Provider Storage").appendingPathComponent(metadata.fileID)
|
|
|
- let filePath = "\(identifierPathUrl.path)/\(metadata.fileNameView)"
|
|
|
+ let identifierPathUrl = fileProviderStorageURL!.appendingPathComponent(metadata.fileID)
|
|
|
+ let fileIdentifier = "\(identifierPathUrl.path)/\(metadata.fileNameView)"
|
|
|
+ let fileDirectoryUser = "\(directoryUser)/\(metadata.fileID)"
|
|
|
var fileSize = 0 as Double
|
|
|
+
|
|
|
+ do {
|
|
|
+ try FileManager.default.createDirectory(atPath: identifierPathUrl.path, withIntermediateDirectories: true, attributes: nil)
|
|
|
+ } catch let error {
|
|
|
+ print("error: \(error)")
|
|
|
+ }
|
|
|
+
|
|
|
+ if FileManager.default.fileExists(atPath: fileIdentifier) == false {
|
|
|
+ if FileManager.default.fileExists(atPath: fileDirectoryUser) {
|
|
|
+ do {
|
|
|
+ try FileManager.default.copyItem(atPath: fileDirectoryUser, toPath: fileIdentifier)
|
|
|
+ } catch {
|
|
|
+ FileManager.default.createFile(atPath: fileIdentifier, contents: nil, attributes: nil)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ FileManager.default.createFile(atPath: fileIdentifier, contents: nil, attributes: nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
do {
|
|
|
- let attributes = try FileManager.default.attributesOfItem(atPath: filePath)
|
|
|
+ let attributes = try FileManager.default.attributesOfItem(atPath: fileIdentifier)
|
|
|
fileSize = attributes[FileAttributeKey.size] as! Double
|
|
|
} catch let error {
|
|
|
print("error: \(error)")
|