diff --git a/FilesProvider.podspec b/FilesProvider.podspec index 9580a20..3434b5f 100644 --- a/FilesProvider.podspec +++ b/FilesProvider.podspec @@ -55,9 +55,8 @@ Pod::Spec.new do |s| # profile URL. # - s.author = { "Amir Abbas Mousavian" => "a.mosavian@gmail.com" } # Or just: s.author = "Amir Abbas Mousavian" - # s.authors = { "Amir Abbas Mousavian" => "a.mosavian@gmail.com" } + s.authors = { "Amir Abbas Mousavian" => "a.mosavian@gmail.com" } s.social_media_url = "https://twitter.com/amosavian" # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # @@ -117,7 +116,10 @@ Pod::Spec.new do |s| # # s.framework = "SomeFramework" - # s.frameworks = "SomeFramework", "AnotherFramework" + s.frameworks = "AVFoundation, "ImageIO", "CoreGraphics" + s.ios.framework = "UIKit" + s.tvos.framework = "UIKit" + s.osx.framework = "AppKit" s.library = "xml2" # s.libraries = "iconv", "xml2" diff --git a/Sources/CloudFileProvider.swift b/Sources/CloudFileProvider.swift index 3079abf..10f7f4c 100644 --- a/Sources/CloudFileProvider.swift +++ b/Sources/CloudFileProvider.swift @@ -93,11 +93,11 @@ open class CloudFileProvider: LocalFileProvider, FileProviderSharing { } public required convenience init?(coder aDecoder: NSCoder) { - if let containerId = aDecoder.decodeObject(forKey: "containerId") as? String, - let scopeString = aDecoder.decodeObject(forKey: "scope") as? String, + if let containerId = aDecoder.decodeObject(of: NSString.self, forKey: "containerId") as String?, + let scopeString = aDecoder.decodeObject(of: NSString.self, forKey: "scope") as String?, let scope = UbiquitousScope(rawValue: scopeString) { self.init(containerId: containerId, scope: scope) - } else if let baseURL = aDecoder.decodeObject(forKey: "baseURL") as? URL { + } else if let baseURL = aDecoder.decodeObject(of: NSURL.self, forKey: "baseURL") as URL? { self.init(baseURL: baseURL) } else { return nil diff --git a/Sources/DropboxFileProvider.swift b/Sources/DropboxFileProvider.swift index 0a8f7b9..99ddc4d 100644 --- a/Sources/DropboxFileProvider.swift +++ b/Sources/DropboxFileProvider.swift @@ -44,7 +44,7 @@ open class DropboxFileProvider: HTTPFileProvider, FileProviderSharing { } public required convenience init?(coder aDecoder: NSCoder) { - self.init(credential: aDecoder.decodeObject(forKey: "credential") as? URLCredential) + self.init(credential: aDecoder.decodeObject(of: URLCredential.self, forKey: "credential")) self.useCache = aDecoder.decodeBool(forKey: "useCache") self.validatingCache = aDecoder.decodeBool(forKey: "validatingCache") } diff --git a/Sources/FTPFileProvider.swift b/Sources/FTPFileProvider.swift index a0162de..3823a28 100644 --- a/Sources/FTPFileProvider.swift +++ b/Sources/FTPFileProvider.swift @@ -135,13 +135,13 @@ open class FTPFileProvider: FileProviderBasicRemote, FileProviderOperations, Fil public required convenience init?(coder aDecoder: NSCoder) { guard let baseURL = aDecoder.decodeObject(forKey: "baseURL") as? URL else { return nil } let mode: Mode - if let modeStr = aDecoder.decodeObject(forKey: "mode") as? String, let mode_v = Mode(rawValue: modeStr) { + if let modeStr = aDecoder.decodeObject(of: NSString.self, forKey: "mode") as String?, let mode_v = Mode(rawValue: modeStr) { mode = mode_v } else { let passiveMode = aDecoder.decodeBool(forKey: "passiveMode") mode = passiveMode ? .passive : .active } - self.init(baseURL: baseURL, mode: mode, credential: aDecoder.decodeObject(forKey: "credential") as? URLCredential) + self.init(baseURL: baseURL, mode: mode, credential: aDecoder.decodeObject(of: URLCredential.self, forKey: "credential")) self.useCache = aDecoder.decodeBool(forKey: "useCache") self.validatingCache = aDecoder.decodeBool(forKey: "validatingCache") self.supportsRFC3659 = aDecoder.decodeBool(forKey: "supportsRFC3659") diff --git a/Sources/LocalFileProvider.swift b/Sources/LocalFileProvider.swift index 6da3521..03fc54e 100644 --- a/Sources/LocalFileProvider.swift +++ b/Sources/LocalFileProvider.swift @@ -119,7 +119,7 @@ open class LocalFileProvider: FileProvider, FileProviderMonitor { } public required convenience init?(coder aDecoder: NSCoder) { - guard let baseURL = aDecoder.decodeObject(forKey: "baseURL") as? URL else { + guard let baseURL = aDecoder.decodeObject(of: NSURL.self, forKey: "baseURL") as URL? else { return nil } self.init(baseURL: baseURL) diff --git a/Sources/OneDriveFileProvider.swift b/Sources/OneDriveFileProvider.swift index 4f9d1d5..29aa15c 100644 --- a/Sources/OneDriveFileProvider.swift +++ b/Sources/OneDriveFileProvider.swift @@ -146,13 +146,13 @@ open class OneDriveFileProvider: HTTPFileProvider, FileProviderSharing { public required convenience init?(coder aDecoder: NSCoder) { let route: Route - if let driveId = aDecoder.decodeObject(forKey: "drive") as? String, let uuid = UUID(uuidString: driveId) { + if let driveId = aDecoder.decodeObject(of: NSString.self, forKey: "drive") as String?, let uuid = UUID(uuidString: driveId) { route = .drive(uuid: uuid) } else { route = (aDecoder.decodeObject(forKey: "route") as? String).flatMap({ Route(rawValue: $0) }) ?? .me } - self.init(credential: aDecoder.decodeObject(forKey: "credential") as? URLCredential, - serverURL: aDecoder.decodeObject(forKey: "baseURL") as? URL, + self.init(credential: aDecoder.decodeObject(of: URLCredential.self, forKey: "credential"), + serverURL: aDecoder.decodeObject(of: NSURL.self, forKey: "baseURL") as URL?, route: route) self.useCache = aDecoder.decodeBool(forKey: "useCache") self.validatingCache = aDecoder.decodeBool(forKey: "validatingCache") diff --git a/Sources/WebDAVFileProvider.swift b/Sources/WebDAVFileProvider.swift index b103dc2..2c1eb70 100644 --- a/Sources/WebDAVFileProvider.swift +++ b/Sources/WebDAVFileProvider.swift @@ -46,11 +46,11 @@ open class WebDAVFileProvider: HTTPFileProvider, FileProviderSharing { } public required convenience init?(coder aDecoder: NSCoder) { - guard let baseURL = aDecoder.decodeObject(forKey: "baseURL") as? URL else { + guard let baseURL = aDecoder.decodeObject(of: NSURL.self, forKey: "baseURL") as URL? else { return nil } self.init(baseURL: baseURL, - credential: aDecoder.decodeObject(forKey: "credential") as? URLCredential) + credential: aDecoder.decodeObject(of: URLCredential.self, forKey: "credential")) self.useCache = aDecoder.decodeBool(forKey: "useCache") self.validatingCache = aDecoder.decodeBool(forKey: "validatingCache") }