Files
Zockerhoehle/Zockerhoehle/ICloudManager.swift

60 lines
1.7 KiB
Swift

//
// 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
}
}
static public func inICloudContainer(url : URL?) -> Bool {
guard let url = url else { return false }
for component in url.pathComponents {
if relative_seperator.count > 0 && component == relative_seperator[0] {
return true
}
}
return false
}
private init() {
}
}