Partially added icloud support for console logo. Added iCloud utilities and tests
This commit is contained in:
48
Zockerhoehle/ICloudManager.swift
Normal file
48
Zockerhoehle/ICloudManager.swift
Normal file
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ICloudDriveManager.swift
|
||||
// Zockerhoehle
|
||||
//
|
||||
// Created by Julian-Steffen Müller on 18.05.21.
|
||||
// Copyright © 2021 Julian-Steffen Müller. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
class ICloudManager {
|
||||
static let shared : ICloudManager = ICloudManager();
|
||||
|
||||
static let relative_seperator : [String] = ["iCloud~Zockerhoehle", "Documents"]
|
||||
|
||||
static public func relativePathFrom(url : URL) -> String? {
|
||||
return url.relative_path_after(pathComponent: relative_seperator) ?? .none
|
||||
}
|
||||
|
||||
static public func fileExists(at path : String?) -> Bool {
|
||||
guard let path = path else { return false }
|
||||
|
||||
if let url = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents").appendingPathComponent(path) {
|
||||
return FileManager.default.fileExists(atPath: url.path)
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static public func imageFrom(path : String?) -> UIImage? {
|
||||
guard let path = path else { return .none }
|
||||
|
||||
do {
|
||||
let url = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents").appendingPathComponent(path)
|
||||
let imageData = try Data(contentsOf: url!)
|
||||
|
||||
return UIImage(data: imageData)!
|
||||
}catch {
|
||||
return .none
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private init() {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user