Documentation Archive Developer
Search

AssetsLibrary Changes for Swift

AssetsLibrary

Removed ALAssetsLibrary.enumerateGroupsWithTypes(_: UInt32, usingBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!)
Modified ALAsset
DeclarationProtocols
From
class ALAsset : NSObject {
    func valueForProperty(_ property: String!) -> AnyObject!
    func defaultRepresentation() -> ALAssetRepresentation!
    func representationForUTI(_ representationUTI: String!) -> ALAssetRepresentation!
    func thumbnail() -> Unmanaged<CGImage>!
    func aspectRatioThumbnail() -> Unmanaged<CGImage>!
    func writeModifiedImageDataToSavedPhotosAlbum(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
    func writeModifiedVideoAtPathToSavedPhotosAlbum(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
    var originalAsset: ALAsset! { get }
    var editable: Bool { get }
    func setImageData(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
    func setVideoAtPath(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
}
--
To
class ALAsset : NSObject {
    func value(forProperty property: String!) -> Any!
    func defaultRepresentation() -> ALAssetRepresentation!
    func representation(forUTI representationUTI: String!) -> ALAssetRepresentation!
    func thumbnail() -> Unmanaged<CGImage>!
    func aspectRatioThumbnail() -> Unmanaged<CGImage>!
    func writeModifiedImageData(toSavedPhotosAlbum imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)
    func writeModifiedVideoAtPath(toSavedPhotosAlbum videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)
    var original: ALAsset! { get }
    var isEditable: Bool { get }
    func setImageData(_ imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)
    func setVideoAtPath(_ videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension ALAsset : CVarArg {
}
extension ALAsset : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var editable: Bool { get }
To
var isEditable: Bool { get }

Declaration
From
var originalAsset: ALAsset! { get }
To
var original: ALAsset! { get }

Declaration
From
func representationForUTI(_ representationUTI: String!) -> ALAssetRepresentation!
To
func representation(forUTI representationUTI: String!) -> ALAssetRepresentation!

Declaration
From
func setImageData(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
To
func setImageData(_ imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)

Declaration
From
func setVideoAtPath(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
To
func setVideoAtPath(_ videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)

Declaration
From
func valueForProperty(_ property: String!) -> AnyObject!
To
func value(forProperty property: String!) -> Any!

Declaration
From
func writeModifiedImageDataToSavedPhotosAlbum(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
To
func writeModifiedImageData(toSavedPhotosAlbum imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)

Declaration
From
func writeModifiedVideoAtPathToSavedPhotosAlbum(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
To
func writeModifiedVideoAtPath(toSavedPhotosAlbum videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)

Declaration
From
enum ALAssetOrientation : Int {
    case Up
    case Down
    case Left
    case Right
    case UpMirrored
    case DownMirrored
    case LeftMirrored
    case RightMirrored
}
To
enum ALAssetOrientation : Int {
    case up
    case down
    case left
    case right
    case upMirrored
    case downMirrored
    case leftMirrored
    case rightMirrored
}

Declaration
From
case Down
To
case down

Declaration
From
case DownMirrored
To
case downMirrored

Declaration
From
case Left
To
case left

Declaration
From
case LeftMirrored
To
case leftMirrored

Declaration
From
case Right
To
case right

Declaration
From
case RightMirrored
To
case rightMirrored

Declaration
From
case Up
To
case up

Declaration
From
case UpMirrored
To
case upMirrored

DeclarationProtocols
From
class ALAssetRepresentation : NSObject {
    func UTI() -> String!
    func dimensions() -> CGSize
    func size() -> Int64
    func getBytes(_ buffer: UnsafeMutablePointer<UInt8>, fromOffset offset: Int64, length length: Int, error error: NSErrorPointer) -> Int
    func fullResolutionImage() -> Unmanaged<CGImage>!
    func CGImageWithOptions(_ options: [NSObject : AnyObject]!) -> Unmanaged<CGImage>!
    func fullScreenImage() -> Unmanaged<CGImage>!
    func url() -> NSURL!
    func metadata() -> [NSObject : AnyObject]!
    func orientation() -> ALAssetOrientation
    func scale() -> Float
    func filename() -> String!
}
--
To
class ALAssetRepresentation : NSObject {
    func uti() -> String!
    func dimensions() -> CGSize
    func size() -> Int64
    func getBytes(_ buffer: UnsafeMutablePointer<UInt8>!, fromOffset offset: Int64, length length: Int, error error: NSErrorPointer) -> Int
    func fullResolutionImage() -> Unmanaged<CGImage>!
    func cgImage(options options: [AnyHashable : Any]! = [:]) -> Unmanaged<CGImage>!
    func fullScreenImage() -> Unmanaged<CGImage>!
    func url() -> URL!
    func metadata() -> [AnyHashable : Any]!
    func orientation() -> ALAssetOrientation
    func scale() -> Float
    func filename() -> String!
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension ALAssetRepresentation : CVarArg {
}
extension ALAssetRepresentation : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func CGImageWithOptions(_ options: [NSObject : AnyObject]!) -> Unmanaged<CGImage>!
To
func cgImage(options options: [AnyHashable : Any]! = [:]) -> Unmanaged<CGImage>!

Declaration
From
func getBytes(_ buffer: UnsafeMutablePointer<UInt8>, fromOffset offset: Int64, length length: Int, error error: NSErrorPointer) -> Int
To
func getBytes(_ buffer: UnsafeMutablePointer<UInt8>!, fromOffset offset: Int64, length length: Int, error error: NSErrorPointer) -> Int

Declaration
From
func metadata() -> [NSObject : AnyObject]!
To
func metadata() -> [AnyHashable : Any]!

Declaration
From
func url() -> NSURL!
To
func url() -> URL!

Declaration
From
func UTI() -> String!
To
func uti() -> String!

DeclarationProtocols
From
class ALAssetsFilter : NSObject {
    class func allPhotos() -> ALAssetsFilter!
    class func allVideos() -> ALAssetsFilter!
    class func allAssets() -> ALAssetsFilter!
}
--
To
class ALAssetsFilter : NSObject {
    class func allPhotos() -> ALAssetsFilter!
    class func allVideos() -> ALAssetsFilter!
    class func allAssets() -> ALAssetsFilter!
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension ALAssetsFilter : CVarArg {
}
extension ALAssetsFilter : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Modified ALAssetsGroup
DeclarationProtocols
From
class ALAssetsGroup : NSObject {
    func valueForProperty(_ property: String!) -> AnyObject!
    func posterImage() -> Unmanaged<CGImage>!
    func setAssetsFilter(_ filter: ALAssetsFilter!)
    func numberOfAssets() -> Int
    func enumerateAssetsUsingBlock(_ enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
    func enumerateAssetsWithOptions(_ options: NSEnumerationOptions, usingBlock enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
    func enumerateAssetsAtIndexes(_ indexSet: NSIndexSet!, options options: NSEnumerationOptions, usingBlock enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
    var editable: Bool { get }
    func addAsset(_ asset: ALAsset!) -> Bool
}
--
To
class ALAssetsGroup : NSObject {
    func value(forProperty property: String!) -> Any!
    func posterImage() -> Unmanaged<CGImage>!
    func setAssetsFilter(_ filter: ALAssetsFilter!)
    func numberOfAssets() -> Int
    func enumerateAssets(_ enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)
    func enumerateAssets(options options: NSEnumerationOptions = [], using enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)
    func enumerateAssets(at indexSet: IndexSet!, options options: NSEnumerationOptions = [], using enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)
    var isEditable: Bool { get }
    func add(_ asset: ALAsset!) -> Bool
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension ALAssetsGroup : CVarArg {
}
extension ALAssetsGroup : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func addAsset(_ asset: ALAsset!) -> Bool
To
func add(_ asset: ALAsset!) -> Bool

Declaration
From
func enumerateAssetsUsingBlock(_ enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
To
func enumerateAssets(_ enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)

Declaration
From
func enumerateAssetsAtIndexes(_ indexSet: NSIndexSet!, options options: NSEnumerationOptions, usingBlock enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
To
func enumerateAssets(at indexSet: IndexSet!, options options: NSEnumerationOptions = [], using enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)

Declaration
From
func enumerateAssetsWithOptions(_ options: NSEnumerationOptions, usingBlock enumerationBlock: ALAssetsGroupEnumerationResultsBlock!)
To
func enumerateAssets(options options: NSEnumerationOptions = [], using enumerationBlock: AssetsLibrary.ALAssetsGroupEnumerationResultsBlock!)

Declaration
From
var editable: Bool { get }
To
var isEditable: Bool { get }

Declaration
From
func valueForProperty(_ property: String!) -> AnyObject!
To
func value(forProperty property: String!) -> Any!

DeclarationProtocols
From
class ALAssetsLibrary : NSObject {
    func enumerateGroupsWithTypes(_ types: ALAssetsGroupType, usingBlock enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
    func assetForURL(_ assetURL: NSURL!, resultBlock resultBlock: ALAssetsLibraryAssetForURLResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
    func groupForURL(_ groupURL: NSURL!, resultBlock resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
    func addAssetsGroupAlbumWithName(_ name: String!, resultBlock resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
    func writeImageToSavedPhotosAlbum(_ imageRef: CGImage!, orientation orientation: ALAssetOrientation, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
    func writeImageToSavedPhotosAlbum(_ imageRef: CGImage!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
    func writeImageDataToSavedPhotosAlbum(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
    func writeVideoAtPathToSavedPhotosAlbum(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
    func videoAtPathIsCompatibleWithSavedPhotosAlbum(_ videoPathURL: NSURL!) -> Bool
    class func authorizationStatus() -> ALAuthorizationStatus
    class func disableSharedPhotoStreamsSupport()
}
extension ALAssetsLibrary {
    @nonobjc func enumerateGroupsWithTypes(_ types: UInt32, usingBlock enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
}
extension ALAssetsLibrary {
    @nonobjc func enumerateGroupsWithTypes(_ types: UInt32, usingBlock enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
}
--
To
class ALAssetsLibrary : NSObject {
    func enumerateGroups(withTypes types: ALAssetsGroupType, using enumerationBlock: AssetsLibrary.ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
    func asset(for assetURL: URL!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryAssetForURLResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
    func group(for groupURL: URL!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
    func addAssetsGroupAlbum(withName name: String!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
    func writeImage(toSavedPhotosAlbum imageRef: CGImage!, orientation orientation: ALAssetOrientation, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)
    func writeImage(toSavedPhotosAlbum imageRef: CGImage!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)
    func writeImageData(toSavedPhotosAlbum imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)
    func writeVideoAtPath(toSavedPhotosAlbum videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)
    func videoAtPathIs(compatibleWithSavedPhotosAlbum videoPathURL: URL!) -> Bool
    class func authorizationStatus() -> ALAuthorizationStatus
    class func disableSharedPhotoStreamsSupport()
    @nonobjc func enumerateGroupsWithTypes(_ types: UInt32, usingBlock enumerationBlock: AssetsLibrary.ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension ALAssetsLibrary : CVarArg {
}
extension ALAssetsLibrary : Equatable, Hashable {
    var hashValue: Int { get }
}
extension ALAssetsLibrary {
    @nonobjc func enumerateGroupsWithTypes(_ types: UInt32, usingBlock enumerationBlock: AssetsLibrary.ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)
}
CVarArg, Equatable, Hashable

Declaration
From
func addAssetsGroupAlbumWithName(_ name: String!, resultBlock resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
To
func addAssetsGroupAlbum(withName name: String!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)

Declaration
From
func assetForURL(_ assetURL: NSURL!, resultBlock resultBlock: ALAssetsLibraryAssetForURLResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
To
func asset(for assetURL: URL!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryAssetForURLResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)

Declaration
From
func enumerateGroupsWithTypes(_ types: ALAssetsGroupType, usingBlock enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
To
func enumerateGroups(withTypes types: ALAssetsGroupType, using enumerationBlock: AssetsLibrary.ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)

Declaration
From
func groupForURL(_ groupURL: NSURL!, resultBlock resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: ALAssetsLibraryAccessFailureBlock!)
To
func group(for groupURL: URL!, resultBlock resultBlock: AssetsLibrary.ALAssetsLibraryGroupResultBlock!, failureBlock failureBlock: AssetsLibrary.ALAssetsLibraryAccessFailureBlock!)

Declaration
From
func videoAtPathIsCompatibleWithSavedPhotosAlbum(_ videoPathURL: NSURL!) -> Bool
To
func videoAtPathIs(compatibleWithSavedPhotosAlbum videoPathURL: URL!) -> Bool

Declaration
From
func writeImageToSavedPhotosAlbum(_ imageRef: CGImage!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
To
func writeImage(toSavedPhotosAlbum imageRef: CGImage!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)

Declaration
From
func writeImageToSavedPhotosAlbum(_ imageRef: CGImage!, orientation orientation: ALAssetOrientation, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
To
func writeImage(toSavedPhotosAlbum imageRef: CGImage!, orientation orientation: ALAssetOrientation, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)

Declaration
From
func writeImageDataToSavedPhotosAlbum(_ imageData: NSData!, metadata metadata: [NSObject : AnyObject]!, completionBlock completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)
To
func writeImageData(toSavedPhotosAlbum imageData: Data!, metadata metadata: [AnyHashable : Any]!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteImageCompletionBlock!)

Declaration
From
func writeVideoAtPathToSavedPhotosAlbum(_ videoPathURL: NSURL!, completionBlock completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!)
To
func writeVideoAtPath(toSavedPhotosAlbum videoPathURL: URL!, completionBlock completionBlock: AssetsLibrary.ALAssetsLibraryWriteVideoCompletionBlock!)

Declaration
From
enum ALAuthorizationStatus : Int {
    case NotDetermined
    case Restricted
    case Denied
    case Authorized
}
To
enum ALAuthorizationStatus : Int {
    case notDetermined
    case restricted
    case denied
    case authorized
}

Declaration
From
case Authorized
To
case authorized

Declaration
From
case Denied
To
case denied

Declaration
From
case NotDetermined
To
case notDetermined

Declaration
From
case Restricted
To
case restricted

NameDeclaration
FromALAssetsLibraryChangedNotification
let ALAssetsLibraryChangedNotification: String
ToALAssetsLibraryChanged
static let ALAssetsLibraryChanged: NSNotification.Name

Declaration
From
typealias ALAssetsGroupEnumerationResultsBlock = (ALAsset!, Int, UnsafeMutablePointer<ObjCBool>) -> Void
To
typealias ALAssetsGroupEnumerationResultsBlock = (ALAsset?, Int, UnsafeMutablePointer<ObjCBool>?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryAccessFailureBlock = (NSError!) -> Void
To
typealias ALAssetsLibraryAccessFailureBlock = (Error?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryAssetForURLResultBlock = (ALAsset!) -> Void
To
typealias ALAssetsLibraryAssetForURLResultBlock = (ALAsset?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryGroupResultBlock = (ALAssetsGroup!) -> Void
To
typealias ALAssetsLibraryGroupResultBlock = (ALAssetsGroup?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryGroupsEnumerationResultsBlock = (ALAssetsGroup!, UnsafeMutablePointer<ObjCBool>) -> Void
To
typealias ALAssetsLibraryGroupsEnumerationResultsBlock = (ALAssetsGroup?, UnsafeMutablePointer<ObjCBool>?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryWriteImageCompletionBlock = (NSURL!, NSError!) -> Void
To
typealias ALAssetsLibraryWriteImageCompletionBlock = (URL?, Error?) -> Swift.Void

Declaration
From
typealias ALAssetsLibraryWriteVideoCompletionBlock = (NSURL!, NSError!) -> Void
To
typealias ALAssetsLibraryWriteVideoCompletionBlock = (URL?, Error?) -> Swift.Void