Documentation Archive Developer
Search

Photos Changes for Swift

Photos

DeclarationProtocols
From
class PHAdjustmentData : NSObject {
    init(formatIdentifier formatIdentifier: String, formatVersion formatVersion: String, data data: NSData)
    var formatIdentifier: String { get }
    var formatVersion: String { get }
    var data: NSData { get }
}
--
To
class PHAdjustmentData : NSObject {
    init(formatIdentifier formatIdentifier: String, formatVersion formatVersion: String, data data: Data)
    var formatIdentifier: String { get }
    var formatVersion: String { get }
    var data: Data { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAdjustmentData : CVarArg {
}
extension PHAdjustmentData : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var data: NSData { get }
To
var data: Data { get }

Declaration
From
init(formatIdentifier formatIdentifier: String, formatVersion formatVersion: String, data data: NSData)
To
init(formatIdentifier formatIdentifier: String, formatVersion formatVersion: String, data data: Data)

Modified PHAsset
Declaration
From
class PHAsset : PHObject {
    var mediaType: PHAssetMediaType { get }
    var mediaSubtypes: PHAssetMediaSubtype { get }
    var pixelWidth: Int { get }
    var pixelHeight: Int { get }
    var creationDate: NSDate? { get }
    var modificationDate: NSDate? { get }
    var location: CLLocation? { get }
    var duration: NSTimeInterval { get }
    var hidden: Bool { get }
    var favorite: Bool { get }
    var burstIdentifier: String? { get }
    var burstSelectionTypes: PHAssetBurstSelectionType { get }
    var representsBurst: Bool { get }
    var sourceType: PHAssetSourceType { get }
    func canPerformEditOperation(_ editOperation: PHAssetEditOperation) -> Bool
    class func fetchAssetsInAssetCollection(_ assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
    class func fetchKeyAssetsInAssetCollection(_ assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult?
    class func fetchAssetsWithBurstIdentifier(_ burstIdentifier: String, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetsWithMediaType(_ mediaType: PHAssetMediaType, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetsWithALAssetURLs(_ assetURLs: [NSURL], options options: PHFetchOptions?) -> PHFetchResult
}
extension PHAsset {
    func requestContentEditingInputWithOptions(_ options: PHContentEditingInputRequestOptions?, completionHandler completionHandler: (PHContentEditingInput?, [NSObject : AnyObject]) -> Void) -> PHContentEditingInputRequestID
    func cancelContentEditingInputRequest(_ requestID: PHContentEditingInputRequestID)
}
To
class PHAsset : PHObject {
    var mediaType: PHAssetMediaType { get }
    var mediaSubtypes: PHAssetMediaSubtype { get }
    var pixelWidth: Int { get }
    var pixelHeight: Int { get }
    var creationDate: Date? { get }
    var modificationDate: Date? { get }
    var location: CLLocation? { get }
    var duration: TimeInterval { get }
    var isHidden: Bool { get }
    var isFavorite: Bool { get }
    var burstIdentifier: String? { get }
    var burstSelectionTypes: PHAssetBurstSelectionType { get }
    var representsBurst: Bool { get }
    var sourceType: PHAssetSourceType { get }
    func canPerform(_ editOperation: PHAssetEditOperation) -> Bool
    class func fetchAssets(in assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    class func fetchAssets(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    class func fetchKeyAssets(in assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>?
    class func fetchAssets(withBurstIdentifier burstIdentifier: String, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    class func fetchAssets(with options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    class func fetchAssets(with mediaType: PHAssetMediaType, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    class func fetchAssets(withALAssetURLs assetURLs: [URL], options options: PHFetchOptions?) -> PHFetchResult<PHAsset>
    func requestContentEditingInput(with options: PHContentEditingInputRequestOptions?, completionHandler completionHandler: @escaping (PHContentEditingInput?, [AnyHashable : Any]) -> Swift.Void) -> PHContentEditingInputRequestID
    func cancelContentEditingInputRequest(_ requestID: PHContentEditingInputRequestID)
}
extension PHAsset {
    func requestContentEditingInput(with options: PHContentEditingInputRequestOptions?, completionHandler completionHandler: @escaping (PHContentEditingInput?, [AnyHashable : Any]) -> Swift.Void) -> PHContentEditingInputRequestID
    func cancelContentEditingInputRequest(_ requestID: PHContentEditingInputRequestID)
}

Declaration
From
func canPerformEditOperation(_ editOperation: PHAssetEditOperation) -> Bool
To
func canPerform(_ editOperation: PHAssetEditOperation) -> Bool

Declaration
From
var creationDate: NSDate? { get }
To
var creationDate: Date? { get }

Declaration
From
var duration: NSTimeInterval { get }
To
var duration: TimeInterval { get }

Declaration
From
class func fetchAssetsInAssetCollection(_ assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(in assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchAssetsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(with options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchAssetsWithMediaType(_ mediaType: PHAssetMediaType, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(with mediaType: PHAssetMediaType, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchAssetsWithALAssetURLs(_ assetURLs: [NSURL], options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(withALAssetURLs assetURLs: [URL], options options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchAssetsWithBurstIdentifier(_ burstIdentifier: String, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(withBurstIdentifier burstIdentifier: String, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchAssetsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssets(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHAsset>

Declaration
From
class func fetchKeyAssetsInAssetCollection(_ assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult?
To
class func fetchKeyAssets(in assetCollection: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHAsset>?

Declaration
From
var favorite: Bool { get }
To
var isFavorite: Bool { get }

Declaration
From
var hidden: Bool { get }
To
var isHidden: Bool { get }

Declaration
From
var modificationDate: NSDate? { get }
To
var modificationDate: Date? { get }

Declaration
From
func requestContentEditingInputWithOptions(_ options: PHContentEditingInputRequestOptions?, completionHandler completionHandler: (PHContentEditingInput?, [NSObject : AnyObject]) -> Void) -> PHContentEditingInputRequestID
To
func requestContentEditingInput(with options: PHContentEditingInputRequestOptions?, completionHandler completionHandler: @escaping (PHContentEditingInput?, [AnyHashable : Any]) -> Swift.Void) -> PHContentEditingInputRequestID

DeclarationProtocols
From
struct PHAssetBurstSelectionType : OptionSetType {
    init(rawValue rawValue: UInt)
    static var None: PHAssetBurstSelectionType { get }
    static var AutoPick: PHAssetBurstSelectionType { get }
    static var UserPick: PHAssetBurstSelectionType { get }
}
OptionSetType
To
struct PHAssetBurstSelectionType : OptionSet {
    init(rawValue rawValue: UInt)
    static var none: PHAssetBurstSelectionType { get }
    static var autoPick: PHAssetBurstSelectionType { get }
    static var userPick: PHAssetBurstSelectionType { get }
    func intersect(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
    func exclusiveOr(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
    mutating func unionInPlace(_ other: PHAssetBurstSelectionType)
    mutating func intersectInPlace(_ other: PHAssetBurstSelectionType)
    mutating func exclusiveOrInPlace(_ other: PHAssetBurstSelectionType)
    func isSubsetOf(_ other: PHAssetBurstSelectionType) -> Bool
    func isDisjointWith(_ other: PHAssetBurstSelectionType) -> Bool
    func isSupersetOf(_ other: PHAssetBurstSelectionType) -> Bool
    mutating func subtractInPlace(_ other: PHAssetBurstSelectionType)
    func isStrictSupersetOf(_ other: PHAssetBurstSelectionType) -> Bool
    func isStrictSubsetOf(_ other: PHAssetBurstSelectionType) -> Bool
}
extension PHAssetBurstSelectionType {
    func union(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
    func intersection(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
    func symmetricDifference(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
}
extension PHAssetBurstSelectionType {
    func contains(_ member: PHAssetBurstSelectionType) -> Bool
    mutating func insert(_ newMember: PHAssetBurstSelectionType) -> (inserted: Bool, memberAfterInsert: PHAssetBurstSelectionType)
    mutating func remove(_ member: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType?
    mutating func update(with newMember: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType?
}
extension PHAssetBurstSelectionType {
    convenience init()
    mutating func formUnion(_ other: PHAssetBurstSelectionType)
    mutating func formIntersection(_ other: PHAssetBurstSelectionType)
    mutating func formSymmetricDifference(_ other: PHAssetBurstSelectionType)
}
extension PHAssetBurstSelectionType {
    convenience init<S : Sequence where S.Iterator.Element == PHAssetBurstSelectionType>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: PHAssetBurstSelectionType...)
    mutating func subtract(_ other: PHAssetBurstSelectionType)
    func isSubset(of other: PHAssetBurstSelectionType) -> Bool
    func isSuperset(of other: PHAssetBurstSelectionType) -> Bool
    func isDisjoint(with other: PHAssetBurstSelectionType) -> Bool
    func subtracting(_ other: PHAssetBurstSelectionType) -> PHAssetBurstSelectionType
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: PHAssetBurstSelectionType) -> Bool
    func isStrictSubset(of other: PHAssetBurstSelectionType) -> Bool
}
OptionSet

Declaration
From
static var AutoPick: PHAssetBurstSelectionType { get }
To
static var autoPick: PHAssetBurstSelectionType { get }

Declaration
From
static var UserPick: PHAssetBurstSelectionType { get }
To
static var userPick: PHAssetBurstSelectionType { get }

DeclarationProtocols
From
class PHAssetChangeRequest : NSObject {
    class func creationRequestForAssetFromImage(_ image: UIImage) -> Self
    class func creationRequestForAssetFromImageAtFileURL(_ fileURL: NSURL) -> Self?
    class func creationRequestForAssetFromVideoAtFileURL(_ fileURL: NSURL) -> Self?
    var placeholderForCreatedAsset: PHObjectPlaceholder? { get }
    class func deleteAssets(_ assets: NSFastEnumeration)
    convenience init(forAsset asset: PHAsset)
    class func changeRequestForAsset(_ asset: PHAsset) -> Self
    var creationDate: NSDate?
    var location: CLLocation?
    var favorite: Bool
    var hidden: Bool
    var contentEditingOutput: PHContentEditingOutput?
    func revertAssetContentToOriginal()
}
--
To
class PHAssetChangeRequest : NSObject {
    class func creationRequestForAsset(from image: UIImage) -> Self
    class func creationRequestForAssetFromImage(atFileURL fileURL: URL) -> Self?
    class func creationRequestForAssetFromVideo(atFileURL fileURL: URL) -> Self?
    var placeholderForCreatedAsset: PHObjectPlaceholder? { get }
    class func deleteAssets(_ assets: NSFastEnumeration)
    convenience init(for asset: PHAsset)
    class func forAsset(_ asset: PHAsset) -> Self
    var creationDate: Date?
    var location: CLLocation?
    var isFavorite: Bool
    var isHidden: Bool
    var contentEditingOutput: PHContentEditingOutput?
    func revertAssetContentToOriginal()
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetChangeRequest : CVarArg {
}
extension PHAssetChangeRequest : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var creationDate: NSDate?
To
var creationDate: Date?

Declaration
From
class func creationRequestForAssetFromImage(_ image: UIImage) -> Self
To
class func creationRequestForAsset(from image: UIImage) -> Self

Declaration
From
class func creationRequestForAssetFromImageAtFileURL(_ fileURL: NSURL) -> Self?
To
class func creationRequestForAssetFromImage(atFileURL fileURL: URL) -> Self?

Declaration
From
class func creationRequestForAssetFromVideoAtFileURL(_ fileURL: NSURL) -> Self?
To
class func creationRequestForAssetFromVideo(atFileURL fileURL: URL) -> Self?

Declaration
From
convenience init(forAsset asset: PHAsset)
To
convenience init(for asset: PHAsset)

Declaration
From
var favorite: Bool
To
var isFavorite: Bool

Declaration
From
var hidden: Bool
To
var isHidden: Bool

Declaration
From
class PHAssetCollection : PHCollection {
    var assetCollectionType: PHAssetCollectionType { get }
    var assetCollectionSubtype: PHAssetCollectionSubtype { get }
    var estimatedAssetCount: Int { get }
    var startDate: NSDate? { get }
    var endDate: NSDate? { get }
    var approximateLocation: CLLocation? { get }
    var localizedLocationNames: [String] { get }
    class func fetchAssetCollectionsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetCollectionsWithType(_ type: PHAssetCollectionType, subtype subtype: PHAssetCollectionSubtype, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetCollectionsContainingAsset(_ asset: PHAsset, withType type: PHAssetCollectionType, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchAssetCollectionsWithALAssetGroupURLs(_ assetGroupURLs: [NSURL], options options: PHFetchOptions?) -> PHFetchResult
    class func fetchMomentsInMomentList(_ momentList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchMomentsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
    class func transientAssetCollectionWithAssets(_ assets: [PHAsset], title title: String?) -> PHAssetCollection
    class func transientAssetCollectionWithAssetFetchResult(_ fetchResult: PHFetchResult, title title: String?) -> PHAssetCollection
}
To
class PHAssetCollection : PHCollection {
    var assetCollectionType: PHAssetCollectionType { get }
    var assetCollectionSubtype: PHAssetCollectionSubtype { get }
    var estimatedAssetCount: Int { get }
    var startDate: Date? { get }
    var endDate: Date? { get }
    var approximateLocation: CLLocation? { get }
    var localizedLocationNames: [String] { get }
    class func fetchAssetCollections(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func fetchAssetCollections(with type: PHAssetCollectionType, subtype subtype: PHAssetCollectionSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func fetchAssetCollectionsContaining(_ asset: PHAsset, with type: PHAssetCollectionType, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func fetchAssetCollections(withALAssetGroupURLs assetGroupURLs: [URL], options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func fetchMoments(inMomentList momentList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func fetchMoments(with options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>
    class func transientAssetCollection(with assets: [PHAsset], title title: String?) -> PHAssetCollection
    class func transientAssetCollection(withAssetFetchResult fetchResult: PHFetchResult<PHAsset>, title title: String?) -> PHAssetCollection
}

Declaration
From
var endDate: NSDate? { get }
To
var endDate: Date? { get }

Declaration
From
class func fetchAssetCollectionsWithType(_ type: PHAssetCollectionType, subtype subtype: PHAssetCollectionSubtype, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssetCollections(with type: PHAssetCollectionType, subtype subtype: PHAssetCollectionSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
class func fetchAssetCollectionsWithALAssetGroupURLs(_ assetGroupURLs: [NSURL], options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssetCollections(withALAssetGroupURLs assetGroupURLs: [URL], options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
class func fetchAssetCollectionsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssetCollections(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
class func fetchAssetCollectionsContainingAsset(_ asset: PHAsset, withType type: PHAssetCollectionType, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchAssetCollectionsContaining(_ asset: PHAsset, with type: PHAssetCollectionType, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
class func fetchMomentsInMomentList(_ momentList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchMoments(inMomentList momentList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
class func fetchMomentsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
To
class func fetchMoments(with options: PHFetchOptions?) -> PHFetchResult<PHAssetCollection>

Declaration
From
var startDate: NSDate? { get }
To
var startDate: Date? { get }

Declaration
From
class func transientAssetCollectionWithAssets(_ assets: [PHAsset], title title: String?) -> PHAssetCollection
To
class func transientAssetCollection(with assets: [PHAsset], title title: String?) -> PHAssetCollection

Declaration
From
class func transientAssetCollectionWithAssetFetchResult(_ fetchResult: PHFetchResult, title title: String?) -> PHAssetCollection
To
class func transientAssetCollection(withAssetFetchResult fetchResult: PHFetchResult<PHAsset>, title title: String?) -> PHAssetCollection

DeclarationProtocols
From
class PHAssetCollectionChangeRequest : NSObject {
    class func creationRequestForAssetCollectionWithTitle(_ title: String) -> Self
    var placeholderForCreatedAssetCollection: PHObjectPlaceholder { get }
    class func deleteAssetCollections(_ assetCollections: NSFastEnumeration)
    convenience init?(forAssetCollection assetCollection: PHAssetCollection)
    class func changeRequestForAssetCollection(_ assetCollection: PHAssetCollection) -> Self?
    convenience init?(forAssetCollection assetCollection: PHAssetCollection, assets assets: PHFetchResult)
    class func changeRequestForAssetCollection(_ assetCollection: PHAssetCollection, assets assets: PHFetchResult) -> Self?
    var title: String
    func addAssets(_ assets: NSFastEnumeration)
    func insertAssets(_ assets: NSFastEnumeration, atIndexes indexes: NSIndexSet)
    func removeAssets(_ assets: NSFastEnumeration)
    func removeAssetsAtIndexes(_ indexes: NSIndexSet)
    func replaceAssetsAtIndexes(_ indexes: NSIndexSet, withAssets assets: NSFastEnumeration)
    func moveAssetsAtIndexes(_ fromIndexes: NSIndexSet, toIndex toIndex: Int)
}
--
To
class PHAssetCollectionChangeRequest : NSObject {
    class func creationRequestForAssetCollection(withTitle title: String) -> Self
    var placeholderForCreatedAssetCollection: PHObjectPlaceholder { get }
    class func deleteAssetCollections(_ assetCollections: NSFastEnumeration)
    convenience init?(for assetCollection: PHAssetCollection)
    class func forAssetCollection(_ assetCollection: PHAssetCollection) -> Self?
    convenience init?(for assetCollection: PHAssetCollection, assets assets: PHFetchResult<PHAsset>)
    class func forAssetCollection(_ assetCollection: PHAssetCollection, assets assets: PHFetchResult<PHAsset>) -> Self?
    var title: String
    func addAssets(_ assets: NSFastEnumeration)
    func insertAssets(_ assets: NSFastEnumeration, at indexes: IndexSet)
    func removeAssets(_ assets: NSFastEnumeration)
    func removeAssets(at indexes: IndexSet)
    func replaceAssets(at indexes: IndexSet, withAssets assets: NSFastEnumeration)
    func moveAssets(at fromIndexes: IndexSet, to toIndex: Int)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetCollectionChangeRequest : CVarArg {
}
extension PHAssetCollectionChangeRequest : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func creationRequestForAssetCollectionWithTitle(_ title: String) -> Self
To
class func creationRequestForAssetCollection(withTitle title: String) -> Self

Declaration
From
convenience init?(forAssetCollection assetCollection: PHAssetCollection)
To
convenience init?(for assetCollection: PHAssetCollection)

Declaration
From
convenience init?(forAssetCollection assetCollection: PHAssetCollection, assets assets: PHFetchResult)
To
convenience init?(for assetCollection: PHAssetCollection, assets assets: PHFetchResult<PHAsset>)

Declaration
From
func insertAssets(_ assets: NSFastEnumeration, atIndexes indexes: NSIndexSet)
To
func insertAssets(_ assets: NSFastEnumeration, at indexes: IndexSet)

Declaration
From
func moveAssetsAtIndexes(_ fromIndexes: NSIndexSet, toIndex toIndex: Int)
To
func moveAssets(at fromIndexes: IndexSet, to toIndex: Int)

Declaration
From
func removeAssetsAtIndexes(_ indexes: NSIndexSet)
To
func removeAssets(at indexes: IndexSet)

Declaration
From
func replaceAssetsAtIndexes(_ indexes: NSIndexSet, withAssets assets: NSFastEnumeration)
To
func replaceAssets(at indexes: IndexSet, withAssets assets: NSFastEnumeration)

Declaration
From
enum PHAssetCollectionSubtype : Int {
    case AlbumRegular
    case AlbumSyncedEvent
    case AlbumSyncedFaces
    case AlbumSyncedAlbum
    case AlbumImported
    case AlbumMyPhotoStream
    case AlbumCloudShared
    case SmartAlbumGeneric
    case SmartAlbumPanoramas
    case SmartAlbumVideos
    case SmartAlbumFavorites
    case SmartAlbumTimelapses
    case SmartAlbumAllHidden
    case SmartAlbumRecentlyAdded
    case SmartAlbumBursts
    case SmartAlbumSlomoVideos
    case SmartAlbumUserLibrary
    case SmartAlbumSelfPortraits
    case SmartAlbumScreenshots
    case Any
}
To
enum PHAssetCollectionSubtype : Int {
    case albumRegular
    case albumSyncedEvent
    case albumSyncedFaces
    case albumSyncedAlbum
    case albumImported
    case albumMyPhotoStream
    case albumCloudShared
    case smartAlbumGeneric
    case smartAlbumPanoramas
    case smartAlbumVideos
    case smartAlbumFavorites
    case smartAlbumTimelapses
    case smartAlbumAllHidden
    case smartAlbumRecentlyAdded
    case smartAlbumBursts
    case smartAlbumSlomoVideos
    case smartAlbumUserLibrary
    case smartAlbumSelfPortraits
    case smartAlbumScreenshots
    case any
}

Declaration
From
case AlbumCloudShared
To
case albumCloudShared

Declaration
From
case AlbumImported
To
case albumImported

Declaration
From
case AlbumMyPhotoStream
To
case albumMyPhotoStream

Declaration
From
case AlbumRegular
To
case albumRegular

Declaration
From
case AlbumSyncedAlbum
To
case albumSyncedAlbum

Declaration
From
case AlbumSyncedEvent
To
case albumSyncedEvent

Declaration
From
case AlbumSyncedFaces
To
case albumSyncedFaces

Declaration
From
case Any
To
case any

Declaration
From
case SmartAlbumAllHidden
To
case smartAlbumAllHidden

Declaration
From
case SmartAlbumBursts
To
case smartAlbumBursts

Declaration
From
case SmartAlbumFavorites
To
case smartAlbumFavorites

Declaration
From
case SmartAlbumGeneric
To
case smartAlbumGeneric

Declaration
From
case SmartAlbumPanoramas
To
case smartAlbumPanoramas

Declaration
From
case SmartAlbumRecentlyAdded
To
case smartAlbumRecentlyAdded

Declaration
From
case SmartAlbumScreenshots
To
case smartAlbumScreenshots

Declaration
From
case SmartAlbumSelfPortraits
To
case smartAlbumSelfPortraits

Declaration
From
case SmartAlbumSlomoVideos
To
case smartAlbumSlomoVideos

Declaration
From
case SmartAlbumTimelapses
To
case smartAlbumTimelapses

Declaration
From
case SmartAlbumUserLibrary
To
case smartAlbumUserLibrary

Declaration
From
case SmartAlbumVideos
To
case smartAlbumVideos

Declaration
From
enum PHAssetCollectionType : Int {
    case Album
    case SmartAlbum
    case Moment
}
To
enum PHAssetCollectionType : Int {
    case album
    case smartAlbum
    case moment
}

Declaration
From
case Album
To
case album

Declaration
From
case Moment
To
case moment

Declaration
From
case SmartAlbum
To
case smartAlbum

Declaration
From
class PHAssetCreationRequest : PHAssetChangeRequest {
    class func creationRequestForAsset() -> Self
    class func supportsAssetResourceTypes(_ types: [NSNumber]) -> Bool
    func addResourceWithType(_ type: PHAssetResourceType, fileURL fileURL: NSURL, options options: PHAssetResourceCreationOptions?)
    func addResourceWithType(_ type: PHAssetResourceType, data data: NSData, options options: PHAssetResourceCreationOptions?)
}
To
class PHAssetCreationRequest : PHAssetChangeRequest {
    class func forAsset() -> Self
    class func supportsAssetResourceTypes(_ types: [NSNumber]) -> Bool
    func addResource(with type: PHAssetResourceType, fileURL fileURL: URL, options options: PHAssetResourceCreationOptions?)
    func addResource(with type: PHAssetResourceType, data data: Data, options options: PHAssetResourceCreationOptions?)
}

Declaration
From
func addResourceWithType(_ type: PHAssetResourceType, data data: NSData, options options: PHAssetResourceCreationOptions?)
To
func addResource(with type: PHAssetResourceType, data data: Data, options options: PHAssetResourceCreationOptions?)

Declaration
From
func addResourceWithType(_ type: PHAssetResourceType, fileURL fileURL: NSURL, options options: PHAssetResourceCreationOptions?)
To
func addResource(with type: PHAssetResourceType, fileURL fileURL: URL, options options: PHAssetResourceCreationOptions?)

Declaration
From
class func creationRequestForAsset() -> Self
To
class func forAsset() -> Self

Declaration
From
enum PHAssetEditOperation : Int {
    case Delete
    case Content
    case Properties
}
To
enum PHAssetEditOperation : Int {
    case delete
    case content
    case properties
}

Declaration
From
case Content
To
case content

Declaration
From
case Delete
To
case delete

Declaration
From
case Properties
To
case properties

DeclarationProtocols
From
struct PHAssetMediaSubtype : OptionSetType {
    init(rawValue rawValue: UInt)
    static var None: PHAssetMediaSubtype { get }
    static var PhotoPanorama: PHAssetMediaSubtype { get }
    static var PhotoHDR: PHAssetMediaSubtype { get }
    static var PhotoScreenshot: PHAssetMediaSubtype { get }
    static var PhotoLive: PHAssetMediaSubtype { get }
    static var VideoStreamed: PHAssetMediaSubtype { get }
    static var VideoHighFrameRate: PHAssetMediaSubtype { get }
    static var VideoTimelapse: PHAssetMediaSubtype { get }
}
OptionSetType
To
struct PHAssetMediaSubtype : OptionSet {
    init(rawValue rawValue: UInt)
    static var none: PHAssetMediaSubtype { get }
    static var photoPanorama: PHAssetMediaSubtype { get }
    static var photoHDR: PHAssetMediaSubtype { get }
    static var photoScreenshot: PHAssetMediaSubtype { get }
    static var photoLive: PHAssetMediaSubtype { get }
    static var videoStreamed: PHAssetMediaSubtype { get }
    static var videoHighFrameRate: PHAssetMediaSubtype { get }
    static var videoTimelapse: PHAssetMediaSubtype { get }
    func intersect(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
    func exclusiveOr(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
    mutating func unionInPlace(_ other: PHAssetMediaSubtype)
    mutating func intersectInPlace(_ other: PHAssetMediaSubtype)
    mutating func exclusiveOrInPlace(_ other: PHAssetMediaSubtype)
    func isSubsetOf(_ other: PHAssetMediaSubtype) -> Bool
    func isDisjointWith(_ other: PHAssetMediaSubtype) -> Bool
    func isSupersetOf(_ other: PHAssetMediaSubtype) -> Bool
    mutating func subtractInPlace(_ other: PHAssetMediaSubtype)
    func isStrictSupersetOf(_ other: PHAssetMediaSubtype) -> Bool
    func isStrictSubsetOf(_ other: PHAssetMediaSubtype) -> Bool
}
extension PHAssetMediaSubtype {
    func union(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
    func intersection(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
    func symmetricDifference(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
}
extension PHAssetMediaSubtype {
    func contains(_ member: PHAssetMediaSubtype) -> Bool
    mutating func insert(_ newMember: PHAssetMediaSubtype) -> (inserted: Bool, memberAfterInsert: PHAssetMediaSubtype)
    mutating func remove(_ member: PHAssetMediaSubtype) -> PHAssetMediaSubtype?
    mutating func update(with newMember: PHAssetMediaSubtype) -> PHAssetMediaSubtype?
}
extension PHAssetMediaSubtype {
    convenience init()
    mutating func formUnion(_ other: PHAssetMediaSubtype)
    mutating func formIntersection(_ other: PHAssetMediaSubtype)
    mutating func formSymmetricDifference(_ other: PHAssetMediaSubtype)
}
extension PHAssetMediaSubtype {
    convenience init<S : Sequence where S.Iterator.Element == PHAssetMediaSubtype>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: PHAssetMediaSubtype...)
    mutating func subtract(_ other: PHAssetMediaSubtype)
    func isSubset(of other: PHAssetMediaSubtype) -> Bool
    func isSuperset(of other: PHAssetMediaSubtype) -> Bool
    func isDisjoint(with other: PHAssetMediaSubtype) -> Bool
    func subtracting(_ other: PHAssetMediaSubtype) -> PHAssetMediaSubtype
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: PHAssetMediaSubtype) -> Bool
    func isStrictSubset(of other: PHAssetMediaSubtype) -> Bool
}
OptionSet

Declaration
From
static var PhotoHDR: PHAssetMediaSubtype { get }
To
static var photoHDR: PHAssetMediaSubtype { get }

Declaration
From
static var PhotoLive: PHAssetMediaSubtype { get }
To
static var photoLive: PHAssetMediaSubtype { get }

Declaration
From
static var PhotoPanorama: PHAssetMediaSubtype { get }
To
static var photoPanorama: PHAssetMediaSubtype { get }

Declaration
From
static var PhotoScreenshot: PHAssetMediaSubtype { get }
To
static var photoScreenshot: PHAssetMediaSubtype { get }

Declaration
From
static var VideoHighFrameRate: PHAssetMediaSubtype { get }
To
static var videoHighFrameRate: PHAssetMediaSubtype { get }

Declaration
From
static var VideoStreamed: PHAssetMediaSubtype { get }
To
static var videoStreamed: PHAssetMediaSubtype { get }

Declaration
From
static var VideoTimelapse: PHAssetMediaSubtype { get }
To
static var videoTimelapse: PHAssetMediaSubtype { get }

Declaration
From
enum PHAssetMediaType : Int {
    case Unknown
    case Image
    case Video
    case Audio
}
To
enum PHAssetMediaType : Int {
    case unknown
    case image
    case video
    case audio
}

Declaration
From
case Audio
To
case audio

Declaration
From
case Image
To
case image

Declaration
From
case Unknown
To
case unknown

Declaration
From
case Video
To
case video

DeclarationProtocols
From
class PHAssetResource : NSObject {
    var type: PHAssetResourceType { get }
    var assetLocalIdentifier: String { get }
    var uniformTypeIdentifier: String { get }
    var originalFilename: String { get }
    class func assetResourcesForAsset(_ asset: PHAsset) -> [PHAssetResource]
    class func assetResourcesForLivePhoto(_ livePhoto: PHLivePhoto) -> [PHAssetResource]
}
--
To
class PHAssetResource : NSObject {
    var type: PHAssetResourceType { get }
    var assetLocalIdentifier: String { get }
    var uniformTypeIdentifier: String { get }
    var originalFilename: String { get }
    class func assetResources(for asset: PHAsset) -> [PHAssetResource]
    class func assetResources(for livePhoto: PHLivePhoto) -> [PHAssetResource]
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetResource : CVarArg {
}
extension PHAssetResource : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func assetResourcesForLivePhoto(_ livePhoto: PHLivePhoto) -> [PHAssetResource]
To
class func assetResources(for livePhoto: PHLivePhoto) -> [PHAssetResource]

Declaration
From
class func assetResourcesForAsset(_ asset: PHAsset) -> [PHAssetResource]
To
class func assetResources(for asset: PHAsset) -> [PHAssetResource]

DeclarationProtocols
From
class PHAssetResourceCreationOptions : NSObject, NSCopying {
    var originalFilename: String?
    var uniformTypeIdentifier: String?
    var shouldMoveFile: Bool
}
NSCopying
To
class PHAssetResourceCreationOptions : NSObject, NSCopying {
    var originalFilename: String?
    var uniformTypeIdentifier: String?
    var shouldMoveFile: Bool
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetResourceCreationOptions : CVarArg {
}
extension PHAssetResourceCreationOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

DeclarationProtocols
From
class PHAssetResourceManager : NSObject {
    class func defaultManager() -> PHAssetResourceManager
    func requestDataForAssetResource(_ resource: PHAssetResource, options options: PHAssetResourceRequestOptions?, dataReceivedHandler handler: (NSData) -> Void, completionHandler completionHandler: (NSError?) -> Void) -> PHAssetResourceDataRequestID
    func writeDataForAssetResource(_ resource: PHAssetResource, toFile fileURL: NSURL, options options: PHAssetResourceRequestOptions?, completionHandler completionHandler: (NSError?) -> Void)
    func cancelDataRequest(_ requestID: PHAssetResourceDataRequestID)
}
--
To
class PHAssetResourceManager : NSObject {
    class func `default`() -> PHAssetResourceManager
    func requestData(for resource: PHAssetResource, options options: PHAssetResourceRequestOptions?, dataReceivedHandler handler: @escaping (Data) -> Swift.Void, completionHandler completionHandler: @escaping (Error?) -> Swift.Void) -> PHAssetResourceDataRequestID
    func writeData(for resource: PHAssetResource, toFile fileURL: URL, options options: PHAssetResourceRequestOptions?, completionHandler completionHandler: @escaping (Error?) -> Swift.Void)
    func cancelDataRequest(_ requestID: PHAssetResourceDataRequestID)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetResourceManager : CVarArg {
}
extension PHAssetResourceManager : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func defaultManager() -> PHAssetResourceManager
To
class func `default`() -> PHAssetResourceManager

Declaration
From
func requestDataForAssetResource(_ resource: PHAssetResource, options options: PHAssetResourceRequestOptions?, dataReceivedHandler handler: (NSData) -> Void, completionHandler completionHandler: (NSError?) -> Void) -> PHAssetResourceDataRequestID
To
func requestData(for resource: PHAssetResource, options options: PHAssetResourceRequestOptions?, dataReceivedHandler handler: @escaping (Data) -> Swift.Void, completionHandler completionHandler: @escaping (Error?) -> Swift.Void) -> PHAssetResourceDataRequestID

Declaration
From
func writeDataForAssetResource(_ resource: PHAssetResource, toFile fileURL: NSURL, options options: PHAssetResourceRequestOptions?, completionHandler completionHandler: (NSError?) -> Void)
To
func writeData(for resource: PHAssetResource, toFile fileURL: URL, options options: PHAssetResourceRequestOptions?, completionHandler completionHandler: @escaping (Error?) -> Swift.Void)

DeclarationProtocols
From
class PHAssetResourceRequestOptions : NSObject, NSCopying {
    var networkAccessAllowed: Bool
    var progressHandler: PHAssetResourceProgressHandler?
}
NSCopying
To
class PHAssetResourceRequestOptions : NSObject, NSCopying {
    var isNetworkAccessAllowed: Bool
    var progressHandler: Photos.PHAssetResourceProgressHandler?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHAssetResourceRequestOptions : CVarArg {
}
extension PHAssetResourceRequestOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
var networkAccessAllowed: Bool
To
var isNetworkAccessAllowed: Bool

Declaration
From
var progressHandler: PHAssetResourceProgressHandler?
To
var progressHandler: Photos.PHAssetResourceProgressHandler?

Declaration
From
enum PHAssetResourceType : Int {
    case Photo
    case Video
    case Audio
    case AlternatePhoto
    case FullSizePhoto
    case FullSizeVideo
    case AdjustmentData
    case AdjustmentBasePhoto
    case PairedVideo
}
To
enum PHAssetResourceType : Int {
    case photo
    case video
    case audio
    case alternatePhoto
    case fullSizePhoto
    case fullSizeVideo
    case adjustmentData
    case adjustmentBasePhoto
    case pairedVideo
    case fullSizePairedVideo
    case adjustmentBasePairedVideo
}

Declaration
From
case AdjustmentBasePhoto
To
case adjustmentBasePhoto

Declaration
From
case AdjustmentData
To
case adjustmentData

Declaration
From
case AlternatePhoto
To
case alternatePhoto

Declaration
From
case Audio
To
case audio

Declaration
From
case FullSizePhoto
To
case fullSizePhoto

Declaration
From
case FullSizeVideo
To
case fullSizeVideo

Declaration
From
case PairedVideo
To
case pairedVideo

Declaration
From
case Photo
To
case photo

Declaration
From
case Video
To
case video

DeclarationProtocols
From
struct PHAssetSourceType : OptionSetType {
    init(rawValue rawValue: UInt)
    static var TypeNone: PHAssetSourceType { get }
    static var TypeUserLibrary: PHAssetSourceType { get }
    static var TypeCloudShared: PHAssetSourceType { get }
    static var TypeiTunesSynced: PHAssetSourceType { get }
}
OptionSetType
To
struct PHAssetSourceType : OptionSet {
    init(rawValue rawValue: UInt)
    static var typeNone: PHAssetSourceType { get }
    static var typeUserLibrary: PHAssetSourceType { get }
    static var typeCloudShared: PHAssetSourceType { get }
    static var typeiTunesSynced: PHAssetSourceType { get }
    func intersect(_ other: PHAssetSourceType) -> PHAssetSourceType
    func exclusiveOr(_ other: PHAssetSourceType) -> PHAssetSourceType
    mutating func unionInPlace(_ other: PHAssetSourceType)
    mutating func intersectInPlace(_ other: PHAssetSourceType)
    mutating func exclusiveOrInPlace(_ other: PHAssetSourceType)
    func isSubsetOf(_ other: PHAssetSourceType) -> Bool
    func isDisjointWith(_ other: PHAssetSourceType) -> Bool
    func isSupersetOf(_ other: PHAssetSourceType) -> Bool
    mutating func subtractInPlace(_ other: PHAssetSourceType)
    func isStrictSupersetOf(_ other: PHAssetSourceType) -> Bool
    func isStrictSubsetOf(_ other: PHAssetSourceType) -> Bool
}
extension PHAssetSourceType {
    func union(_ other: PHAssetSourceType) -> PHAssetSourceType
    func intersection(_ other: PHAssetSourceType) -> PHAssetSourceType
    func symmetricDifference(_ other: PHAssetSourceType) -> PHAssetSourceType
}
extension PHAssetSourceType {
    func contains(_ member: PHAssetSourceType) -> Bool
    mutating func insert(_ newMember: PHAssetSourceType) -> (inserted: Bool, memberAfterInsert: PHAssetSourceType)
    mutating func remove(_ member: PHAssetSourceType) -> PHAssetSourceType?
    mutating func update(with newMember: PHAssetSourceType) -> PHAssetSourceType?
}
extension PHAssetSourceType {
    convenience init()
    mutating func formUnion(_ other: PHAssetSourceType)
    mutating func formIntersection(_ other: PHAssetSourceType)
    mutating func formSymmetricDifference(_ other: PHAssetSourceType)
}
extension PHAssetSourceType {
    convenience init<S : Sequence where S.Iterator.Element == PHAssetSourceType>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: PHAssetSourceType...)
    mutating func subtract(_ other: PHAssetSourceType)
    func isSubset(of other: PHAssetSourceType) -> Bool
    func isSuperset(of other: PHAssetSourceType) -> Bool
    func isDisjoint(with other: PHAssetSourceType) -> Bool
    func subtracting(_ other: PHAssetSourceType) -> PHAssetSourceType
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: PHAssetSourceType) -> Bool
    func isStrictSubset(of other: PHAssetSourceType) -> Bool
}
OptionSet

Declaration
From
static var TypeCloudShared: PHAssetSourceType { get }
To
static var typeCloudShared: PHAssetSourceType { get }

Declaration
From
static var TypeiTunesSynced: PHAssetSourceType { get }
To
static var typeiTunesSynced: PHAssetSourceType { get }

Declaration
From
static var TypeUserLibrary: PHAssetSourceType { get }
To
static var typeUserLibrary: PHAssetSourceType { get }

Declaration
From
enum PHAuthorizationStatus : Int {
    case NotDetermined
    case Restricted
    case Denied
    case Authorized
}
To
enum PHAuthorizationStatus : 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

Declaration
From
class PHCachingImageManager : PHImageManager {
    var allowsCachingHighQualityImages: Bool
    func startCachingImagesForAssets(_ assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
    func stopCachingImagesForAssets(_ assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
    func stopCachingImagesForAllAssets()
}
To
class PHCachingImageManager : PHImageManager {
    var allowsCachingHighQualityImages: Bool
    func startCachingImages(for assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
    func stopCachingImages(for assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
    func stopCachingImagesForAllAssets()
}

Declaration
From
func startCachingImagesForAssets(_ assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
To
func startCachingImages(for assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)

Declaration
From
func stopCachingImagesForAssets(_ assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)
To
func stopCachingImages(for assets: [PHAsset], targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?)

Modified PHChange
DeclarationProtocols
From
class PHChange : NSObject {
    func changeDetailsForObject(_ object: PHObject) -> PHObjectChangeDetails?
    func changeDetailsForFetchResult(_ object: PHFetchResult) -> PHFetchResultChangeDetails?
}
--
To
class PHChange : NSObject {
    func __changeDetails(for object: PHObject) -> PHObjectChangeDetails<PHObject>?
    func __changeDetails(for object: PHFetchResult<AnyObject>) -> PHFetchResultChangeDetails<PHObject>?
    func changeDetails<T : PHObject>(for object: T) -> PHObjectChangeDetails<T>?
    func changeDetails<T : PHObject>(for fetchResult: PHFetchResult<T>) -> PHFetchResultChangeDetails<T>?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHChange : CVarArg {
}
extension PHChange : Equatable, Hashable {
    var hashValue: Int { get }
}
extension PHChange {
    func changeDetails<T : PHObject>(for object: T) -> PHObjectChangeDetails<T>?
    func changeDetails<T : PHObject>(for fetchResult: PHFetchResult<T>) -> PHFetchResultChangeDetails<T>?
}
CVarArg, Equatable, Hashable

Modified PHCollection
Declaration
From
class PHCollection : PHObject {
    var canContainAssets: Bool { get }
    var canContainCollections: Bool { get }
    var localizedTitle: String? { get }
    func canPerformEditOperation(_ anOperation: PHCollectionEditOperation) -> Bool
    class func fetchCollectionsInCollectionList(_ collectionList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchTopLevelUserCollectionsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
}
To
class PHCollection : PHObject {
    var canContainAssets: Bool { get }
    var canContainCollections: Bool { get }
    var localizedTitle: String? { get }
    func canPerform(_ anOperation: PHCollectionEditOperation) -> Bool
    class func fetchCollections(in collectionList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult<PHCollection>
    class func fetchTopLevelUserCollections(with options: PHFetchOptions?) -> PHFetchResult<PHCollection>
}

Declaration
From
func canPerformEditOperation(_ anOperation: PHCollectionEditOperation) -> Bool
To
func canPerform(_ anOperation: PHCollectionEditOperation) -> Bool

Declaration
From
class func fetchCollectionsInCollectionList(_ collectionList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchCollections(in collectionList: PHCollectionList, options options: PHFetchOptions?) -> PHFetchResult<PHCollection>

Declaration
From
class func fetchTopLevelUserCollectionsWithOptions(_ options: PHFetchOptions?) -> PHFetchResult
To
class func fetchTopLevelUserCollections(with options: PHFetchOptions?) -> PHFetchResult<PHCollection>

Declaration
From
enum PHCollectionEditOperation : Int {
    case DeleteContent
    case RemoveContent
    case AddContent
    case CreateContent
    case RearrangeContent
    case Delete
    case Rename
}
To
enum PHCollectionEditOperation : Int {
    case deleteContent
    case removeContent
    case addContent
    case createContent
    case rearrangeContent
    case delete
    case rename
}

Declaration
From
case AddContent
To
case addContent

Declaration
From
case CreateContent
To
case createContent

Declaration
From
case Delete
To
case delete

Declaration
From
case DeleteContent
To
case deleteContent

Declaration
From
case RearrangeContent
To
case rearrangeContent

Declaration
From
case RemoveContent
To
case removeContent

Declaration
From
case Rename
To
case rename

Declaration
From
class PHCollectionList : PHCollection {
    var collectionListType: PHCollectionListType { get }
    var collectionListSubtype: PHCollectionListSubtype { get }
    var startDate: NSDate? { get }
    var endDate: NSDate? { get }
    var localizedLocationNames: [String] { get }
    class func fetchCollectionListsContainingCollection(_ collection: PHCollection, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchCollectionListsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
    class func fetchCollectionListsWithType(_ collectionListType: PHCollectionListType, subtype subtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchMomentListsWithSubtype(_ momentListSubtype: PHCollectionListSubtype, containingMoment moment: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult
    class func fetchMomentListsWithSubtype(_ momentListSubtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult
    class func transientCollectionListWithCollections(_ collections: [PHCollection], title title: String?) -> PHCollectionList
    class func transientCollectionListWithCollectionsFetchResult(_ fetchResult: PHFetchResult, title title: String?) -> PHCollectionList
}
To
class PHCollectionList : PHCollection {
    var collectionListType: PHCollectionListType { get }
    var collectionListSubtype: PHCollectionListSubtype { get }
    var startDate: Date? { get }
    var endDate: Date? { get }
    var localizedLocationNames: [String] { get }
    class func fetchCollectionListsContaining(_ collection: PHCollection, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>
    class func fetchCollectionLists(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>
    class func fetchCollectionLists(with collectionListType: PHCollectionListType, subtype subtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>
    class func fetchMomentLists(with momentListSubtype: PHCollectionListSubtype, containingMoment moment: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>
    class func fetchMomentLists(with momentListSubtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>
    class func transientCollectionList(with collections: [PHCollection], title title: String?) -> PHCollectionList
    class func transientCollectionList(withCollectionsFetchResult fetchResult: PHFetchResult<PHCollection>, title title: String?) -> PHCollectionList
}

Declaration
From
var endDate: NSDate? { get }
To
var endDate: Date? { get }

Declaration
From
class func fetchCollectionListsWithType(_ collectionListType: PHCollectionListType, subtype subtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchCollectionLists(with collectionListType: PHCollectionListType, subtype subtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>

Declaration
From
class func fetchCollectionListsWithLocalIdentifiers(_ identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchCollectionLists(withLocalIdentifiers identifiers: [String], options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>

Declaration
From
class func fetchCollectionListsContainingCollection(_ collection: PHCollection, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchCollectionListsContaining(_ collection: PHCollection, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>

Declaration
From
class func fetchMomentListsWithSubtype(_ momentListSubtype: PHCollectionListSubtype, containingMoment moment: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchMomentLists(with momentListSubtype: PHCollectionListSubtype, containingMoment moment: PHAssetCollection, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>

Declaration
From
class func fetchMomentListsWithSubtype(_ momentListSubtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult
To
class func fetchMomentLists(with momentListSubtype: PHCollectionListSubtype, options options: PHFetchOptions?) -> PHFetchResult<PHCollectionList>

Declaration
From
var startDate: NSDate? { get }
To
var startDate: Date? { get }

Declaration
From
class func transientCollectionListWithCollections(_ collections: [PHCollection], title title: String?) -> PHCollectionList
To
class func transientCollectionList(with collections: [PHCollection], title title: String?) -> PHCollectionList

Declaration
From
class func transientCollectionListWithCollectionsFetchResult(_ fetchResult: PHFetchResult, title title: String?) -> PHCollectionList
To
class func transientCollectionList(withCollectionsFetchResult fetchResult: PHFetchResult<PHCollection>, title title: String?) -> PHCollectionList

DeclarationProtocols
From
class PHCollectionListChangeRequest : NSObject {
    class func creationRequestForCollectionListWithTitle(_ title: String) -> Self
    var placeholderForCreatedCollectionList: PHObjectPlaceholder { get }
    class func deleteCollectionLists(_ collectionLists: NSFastEnumeration)
    convenience init?(forCollectionList collectionList: PHCollectionList)
    class func changeRequestForCollectionList(_ collectionList: PHCollectionList) -> Self?
    convenience init?(forCollectionList collectionList: PHCollectionList, childCollections childCollections: PHFetchResult)
    class func changeRequestForCollectionList(_ collectionList: PHCollectionList, childCollections childCollections: PHFetchResult) -> Self?
    var title: String
    func addChildCollections(_ collections: NSFastEnumeration)
    func insertChildCollections(_ collections: NSFastEnumeration, atIndexes indexes: NSIndexSet)
    func removeChildCollections(_ collections: NSFastEnumeration)
    func removeChildCollectionsAtIndexes(_ indexes: NSIndexSet)
    func replaceChildCollectionsAtIndexes(_ indexes: NSIndexSet, withChildCollections collections: NSFastEnumeration)
    func moveChildCollectionsAtIndexes(_ indexes: NSIndexSet, toIndex toIndex: Int)
}
--
To
class PHCollectionListChangeRequest : NSObject {
    class func creationRequestForCollectionList(withTitle title: String) -> Self
    var placeholderForCreatedCollectionList: PHObjectPlaceholder { get }
    class func deleteCollectionLists(_ collectionLists: NSFastEnumeration)
    convenience init?(for collectionList: PHCollectionList)
    class func forCollectionList(_ collectionList: PHCollectionList) -> Self?
    convenience init?(for collectionList: PHCollectionList, childCollections childCollections: PHFetchResult<PHCollection>)
    class func forCollectionList(_ collectionList: PHCollectionList, childCollections childCollections: PHFetchResult<PHCollection>) -> Self?
    var title: String
    func addChildCollections(_ collections: NSFastEnumeration)
    func insertChildCollections(_ collections: NSFastEnumeration, at indexes: IndexSet)
    func removeChildCollections(_ collections: NSFastEnumeration)
    func removeChildCollections(at indexes: IndexSet)
    func replaceChildCollections(at indexes: IndexSet, withChildCollections collections: NSFastEnumeration)
    func moveChildCollections(at indexes: IndexSet, to toIndex: Int)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHCollectionListChangeRequest : CVarArg {
}
extension PHCollectionListChangeRequest : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func creationRequestForCollectionListWithTitle(_ title: String) -> Self
To
class func creationRequestForCollectionList(withTitle title: String) -> Self

Declaration
From
convenience init?(forCollectionList collectionList: PHCollectionList)
To
convenience init?(for collectionList: PHCollectionList)

Declaration
From
convenience init?(forCollectionList collectionList: PHCollectionList, childCollections childCollections: PHFetchResult)
To
convenience init?(for collectionList: PHCollectionList, childCollections childCollections: PHFetchResult<PHCollection>)

Declaration
From
func insertChildCollections(_ collections: NSFastEnumeration, atIndexes indexes: NSIndexSet)
To
func insertChildCollections(_ collections: NSFastEnumeration, at indexes: IndexSet)

Declaration
From
func moveChildCollectionsAtIndexes(_ indexes: NSIndexSet, toIndex toIndex: Int)
To
func moveChildCollections(at indexes: IndexSet, to toIndex: Int)

Declaration
From
func removeChildCollectionsAtIndexes(_ indexes: NSIndexSet)
To
func removeChildCollections(at indexes: IndexSet)

Declaration
From
func replaceChildCollectionsAtIndexes(_ indexes: NSIndexSet, withChildCollections collections: NSFastEnumeration)
To
func replaceChildCollections(at indexes: IndexSet, withChildCollections collections: NSFastEnumeration)

Declaration
From
enum PHCollectionListSubtype : Int {
    case MomentListCluster
    case MomentListYear
    case RegularFolder
    case SmartFolderEvents
    case SmartFolderFaces
    case Any
}
To
enum PHCollectionListSubtype : Int {
    case momentListCluster
    case momentListYear
    case regularFolder
    case smartFolderEvents
    case smartFolderFaces
    case any
}

Declaration
From
case Any
To
case any

Declaration
From
case MomentListCluster
To
case momentListCluster

Declaration
From
case MomentListYear
To
case momentListYear

Declaration
From
case RegularFolder
To
case regularFolder

Declaration
From
case SmartFolderEvents
To
case smartFolderEvents

Declaration
From
case SmartFolderFaces
To
case smartFolderFaces

Declaration
From
enum PHCollectionListType : Int {
    case MomentList
    case Folder
    case SmartFolder
}
To
enum PHCollectionListType : Int {
    case momentList
    case folder
    case smartFolder
}

Declaration
From
case Folder
To
case folder

Declaration
From
case MomentList
To
case momentList

Declaration
From
case SmartFolder
To
case smartFolder

DeclarationProtocols
From
class PHContentEditingInput : NSObject {
    var mediaType: PHAssetMediaType { get }
    var mediaSubtypes: PHAssetMediaSubtype { get }
    @NSCopying var creationDate: NSDate? { get }
    @NSCopying var location: CLLocation? { get }
    var uniformTypeIdentifier: String? { get }
    var adjustmentData: PHAdjustmentData { get }
    var displaySizeImage: UIImage? { get }
    @NSCopying var fullSizeImageURL: NSURL? { get }
    var fullSizeImageOrientation: Int32 { get }
    var avAsset: AVAsset? { get }
    var audiovisualAsset: AVAsset? { get }
}
--
To
class PHContentEditingInput : NSObject {
    var mediaType: PHAssetMediaType { get }
    var mediaSubtypes: PHAssetMediaSubtype { get }
    var creationDate: Date? { get }
    @NSCopying var location: CLLocation? { get }
    var uniformTypeIdentifier: String? { get }
    var adjustmentData: PHAdjustmentData? { get }
    var displaySizeImage: UIImage? { get }
    var fullSizeImageURL: URL? { get }
    var fullSizeImageOrientation: Int32 { get }
    var avAsset: AVAsset? { get }
    var audiovisualAsset: AVAsset? { get }
    var livePhoto: PHLivePhoto? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHContentEditingInput : CVarArg {
}
extension PHContentEditingInput : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var adjustmentData: PHAdjustmentData { get }
To
var adjustmentData: PHAdjustmentData? { get }

Declaration
From
@NSCopying var creationDate: NSDate? { get }
To
var creationDate: Date? { get }

Declaration
From
@NSCopying var fullSizeImageURL: NSURL? { get }
To
var fullSizeImageURL: URL? { get }

DeclarationProtocols
From
class PHContentEditingInputRequestOptions : NSObject {
    var canHandleAdjustmentData: (PHAdjustmentData) -> Bool
    var networkAccessAllowed: Bool
    var progressHandler: ((Double, UnsafeMutablePointer<ObjCBool>) -> Void)?
}
--
To
class PHContentEditingInputRequestOptions : NSObject {
    var canHandleAdjustmentData: (PHAdjustmentData) -> Bool
    var isNetworkAccessAllowed: Bool
    var progressHandler: ((Double, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHContentEditingInputRequestOptions : CVarArg {
}
extension PHContentEditingInputRequestOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var networkAccessAllowed: Bool
To
var isNetworkAccessAllowed: Bool

Declaration
From
var progressHandler: ((Double, UnsafeMutablePointer<ObjCBool>) -> Void)?
To
var progressHandler: ((Double, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)?

DeclarationProtocols
From
class PHContentEditingOutput : NSObject {
    init(contentEditingInput contentEditingInput: PHContentEditingInput)
    var adjustmentData: PHAdjustmentData?
    @NSCopying var renderedContentURL: NSURL { get }
}
extension PHContentEditingOutput {
    init(placeholderForCreatedAsset placeholderForCreatedAsset: PHObjectPlaceholder)
}
--
To
class PHContentEditingOutput : NSObject {
    init(contentEditingInput contentEditingInput: PHContentEditingInput)
    var adjustmentData: PHAdjustmentData?
    var renderedContentURL: URL { get }
    init(placeholderForCreatedAsset placeholderForCreatedAsset: PHObjectPlaceholder)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHContentEditingOutput {
    init(placeholderForCreatedAsset placeholderForCreatedAsset: PHObjectPlaceholder)
}
extension PHContentEditingOutput : CVarArg {
}
extension PHContentEditingOutput : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var renderedContentURL: NSURL { get }
To
var renderedContentURL: URL { get }

DeclarationProtocols
From
class PHFetchOptions : NSObject, NSCopying {
    var predicate: NSPredicate?
    var sortDescriptors: [NSSortDescriptor]?
    var includeHiddenAssets: Bool
    var includeAllBurstAssets: Bool
    var includeAssetSourceTypes: PHAssetSourceType
    var fetchLimit: Int
    var wantsIncrementalChangeDetails: Bool
}
NSCopying
To
class PHFetchOptions : NSObject, NSCopying {
    var predicate: NSPredicate?
    var sortDescriptors: [NSSortDescriptor]?
    var includeHiddenAssets: Bool
    var includeAllBurstAssets: Bool
    var includeAssetSourceTypes: PHAssetSourceType
    var fetchLimit: Int
    var wantsIncrementalChangeDetails: Bool
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHFetchOptions : CVarArg {
}
extension PHFetchOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Modified PHFetchResult
DeclarationProtocolsGenerics[Constraints]Generics[Parameters]
From
class PHFetchResult : NSObject, NSCopying, NSFastEnumeration {
    var count: Int { get }
    func objectAtIndex(_ index: Int) -> AnyObject
    subscript (_ idx: Int) -> AnyObject { get }
    func objectAtIndexedSubscript(_ idx: Int) -> AnyObject
    func containsObject(_ anObject: AnyObject) -> Bool
    func indexOfObject(_ anObject: AnyObject) -> Int
    func indexOfObject(_ anObject: AnyObject, inRange range: NSRange) -> Int
    var firstObject: AnyObject? { get }
    var lastObject: AnyObject? { get }
    func objectsAtIndexes(_ indexes: NSIndexSet) -> [AnyObject]
    func enumerateObjectsUsingBlock(_ block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
    func enumerateObjectsWithOptions(_ opts: NSEnumerationOptions, usingBlock block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
    func enumerateObjectsAtIndexes(_ s: NSIndexSet, options opts: NSEnumerationOptions, usingBlock block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
    func countOfAssetsWithMediaType(_ mediaType: PHAssetMediaType) -> Int
}
NSCopying, NSFastEnumeration
--
To
class PHFetchResult<ObjectType : AnyObject> : NSObject, NSCopying, NSFastEnumeration {
    var count: Int { get }
    func object(at index: Int) -> ObjectType
    subscript(_ idx: Int) -> ObjectType { get }
    func objectAtIndexedSubscript(_ idx: Int) -> ObjectType
    func contains(_ anObject: ObjectType) -> Bool
    func index(of anObject: ObjectType) -> Int
    func index(of anObject: ObjectType, in range: NSRange) -> Int
    var firstObject: ObjectType? { get }
    var lastObject: ObjectType? { get }
    func objects(at indexes: IndexSet) -> [ObjectType]
    func enumerateObjects(_ block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)
    func enumerateObjects(options opts: NSEnumerationOptions = [], using block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)
    func enumerateObjects(at s: IndexSet, options opts: NSEnumerationOptions = [], using block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)
    func countOfAssets(with mediaType: PHAssetMediaType) -> Int
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHFetchResult : CVarArg {
}
extension PHFetchResult : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSFastEnumeration
ObjectType : AnyObject
ObjectType

Declaration
From
func containsObject(_ anObject: AnyObject) -> Bool
To
func contains(_ anObject: ObjectType) -> Bool

Declaration
From
func countOfAssetsWithMediaType(_ mediaType: PHAssetMediaType) -> Int
To
func countOfAssets(with mediaType: PHAssetMediaType) -> Int

Declaration
From
func enumerateObjectsUsingBlock(_ block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
To
func enumerateObjects(_ block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)

Declaration
From
func enumerateObjectsAtIndexes(_ s: NSIndexSet, options opts: NSEnumerationOptions, usingBlock block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
To
func enumerateObjects(at s: IndexSet, options opts: NSEnumerationOptions = [], using block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)

Declaration
From
func enumerateObjectsWithOptions(_ opts: NSEnumerationOptions, usingBlock block: (AnyObject, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
To
func enumerateObjects(options opts: NSEnumerationOptions = [], using block: @escaping (ObjectType, Int, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)

Declaration
From
var firstObject: AnyObject? { get }
To
var firstObject: ObjectType? { get }

Declaration
From
func indexOfObject(_ anObject: AnyObject) -> Int
To
func index(of anObject: ObjectType) -> Int

Declaration
From
func indexOfObject(_ anObject: AnyObject, inRange range: NSRange) -> Int
To
func index(of anObject: ObjectType, in range: NSRange) -> Int

Declaration
From
var lastObject: AnyObject? { get }
To
var lastObject: ObjectType? { get }

Declaration
From
func objectAtIndex(_ index: Int) -> AnyObject
To
func object(at index: Int) -> ObjectType

Declaration
From
func objectsAtIndexes(_ indexes: NSIndexSet) -> [AnyObject]
To
func objects(at indexes: IndexSet) -> [ObjectType]

Declaration
From
subscript (_ idx: Int) -> AnyObject { get }
To
subscript(_ idx: Int) -> ObjectType { get }

DeclarationProtocolsGenerics[Constraints]Generics[Parameters]
From
class PHFetchResultChangeDetails : NSObject {
    var fetchResultBeforeChanges: PHFetchResult { get }
    var fetchResultAfterChanges: PHFetchResult { get }
    var hasIncrementalChanges: Bool { get }
    var removedIndexes: NSIndexSet? { get }
    var removedObjects: [PHObject] { get }
    var insertedIndexes: NSIndexSet? { get }
    var insertedObjects: [PHObject] { get }
    var changedIndexes: NSIndexSet? { get }
    var changedObjects: [PHObject] { get }
    func enumerateMovesWithBlock(_ handler: (Int, Int) -> Void)
    var hasMoves: Bool { get }
    convenience init(fromFetchResult fromResult: PHFetchResult, toFetchResult toResult: PHFetchResult, changedObjects changedObjects: [PHObject])
    class func changeDetailsFromFetchResult(_ fromResult: PHFetchResult, toFetchResult toResult: PHFetchResult, changedObjects changedObjects: [PHObject]) -> Self
}
--
--
To
class PHFetchResultChangeDetails<ObjectType : PHObject> : NSObject {
    var fetchResultBeforeChanges: PHFetchResult<ObjectType> { get }
    var fetchResultAfterChanges: PHFetchResult<ObjectType> { get }
    var hasIncrementalChanges: Bool { get }
    var removedIndexes: IndexSet? { get }
    var removedObjects: [ObjectType] { get }
    var insertedIndexes: IndexSet? { get }
    var insertedObjects: [ObjectType] { get }
    var changedIndexes: IndexSet? { get }
    var changedObjects: [ObjectType] { get }
    func enumerateMoves(_ handler: @escaping (Int, Int) -> Swift.Void)
    var hasMoves: Bool { get }
    convenience init(from fromResult: PHFetchResult<ObjectType>, to toResult: PHFetchResult<ObjectType>, changedObjects changedObjects: [ObjectType])
    class func fromFetchResult(_ fromResult: PHFetchResult<ObjectType>, to toResult: PHFetchResult<ObjectType>, changedObjects changedObjects: [ObjectType]) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHFetchResultChangeDetails : CVarArg {
}
extension PHFetchResultChangeDetails : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable
ObjectType : PHObject
ObjectType

Declaration
From
var changedIndexes: NSIndexSet? { get }
To
var changedIndexes: IndexSet? { get }

Declaration
From
var changedObjects: [PHObject] { get }
To
var changedObjects: [ObjectType] { get }

Declaration
From
func enumerateMovesWithBlock(_ handler: (Int, Int) -> Void)
To
func enumerateMoves(_ handler: @escaping (Int, Int) -> Swift.Void)

Declaration
From
var fetchResultAfterChanges: PHFetchResult { get }
To
var fetchResultAfterChanges: PHFetchResult<ObjectType> { get }

Declaration
From
var fetchResultBeforeChanges: PHFetchResult { get }
To
var fetchResultBeforeChanges: PHFetchResult<ObjectType> { get }

Declaration
From
convenience init(fromFetchResult fromResult: PHFetchResult, toFetchResult toResult: PHFetchResult, changedObjects changedObjects: [PHObject])
To
convenience init(from fromResult: PHFetchResult<ObjectType>, to toResult: PHFetchResult<ObjectType>, changedObjects changedObjects: [ObjectType])

Declaration
From
var insertedIndexes: NSIndexSet? { get }
To
var insertedIndexes: IndexSet? { get }

Declaration
From
var insertedObjects: [PHObject] { get }
To
var insertedObjects: [ObjectType] { get }

Declaration
From
var removedIndexes: NSIndexSet? { get }
To
var removedIndexes: IndexSet? { get }

Declaration
From
var removedObjects: [PHObject] { get }
To
var removedObjects: [ObjectType] { get }

Declaration
From
enum PHImageContentMode : Int {
    case AspectFit
    case AspectFill
    static var Default: PHImageContentMode { get }
}
To
enum PHImageContentMode : Int {
    case aspectFit
    case aspectFill
    static var `default`: PHImageContentMode { get }
}

Declaration
From
case AspectFill
To
case aspectFill

Declaration
From
case AspectFit
To
case aspectFit

Declaration
From
static var Default: PHImageContentMode { get }
To
static var `default`: PHImageContentMode { get }

DeclarationProtocols
From
class PHImageManager : NSObject {
    class func defaultManager() -> PHImageManager
    func requestImageForAsset(_ asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?, resultHandler resultHandler: (UIImage?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
    func requestImageDataForAsset(_ asset: PHAsset, options options: PHImageRequestOptions?, resultHandler resultHandler: (NSData?, String?, UIImageOrientation, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
    func cancelImageRequest(_ requestID: PHImageRequestID)
    func requestLivePhotoForAsset(_ asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHLivePhotoRequestOptions?, resultHandler resultHandler: (PHLivePhoto?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
    func requestPlayerItemForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: (AVPlayerItem?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
    func requestExportSessionForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, exportPreset exportPreset: String, resultHandler resultHandler: (AVAssetExportSession?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
    func requestAVAssetForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: (AVAsset?, AVAudioMix?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
}
--
To
class PHImageManager : NSObject {
    class func `default`() -> PHImageManager
    func requestImage(for asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?, resultHandler resultHandler: @escaping (UIImage?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func requestImageData(for asset: PHAsset, options options: PHImageRequestOptions?, resultHandler resultHandler: @escaping (Data?, String?, UIImageOrientation, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func cancelImageRequest(_ requestID: PHImageRequestID)
    func requestLivePhoto(for asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHLivePhotoRequestOptions?, resultHandler resultHandler: @escaping (PHLivePhoto?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func requestPlayerItem(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: @escaping (AVPlayerItem?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func requestExportSession(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, exportPreset exportPreset: String, resultHandler resultHandler: @escaping (AVAssetExportSession?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func requestAVAsset(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: @escaping (AVAsset?, AVAudioMix?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHImageManager : CVarArg {
}
extension PHImageManager : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func defaultManager() -> PHImageManager
To
class func `default`() -> PHImageManager

Declaration
From
func requestAVAssetForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: (AVAsset?, AVAudioMix?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestAVAsset(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: @escaping (AVAsset?, AVAudioMix?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

Declaration
From
func requestExportSessionForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, exportPreset exportPreset: String, resultHandler resultHandler: (AVAssetExportSession?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestExportSession(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, exportPreset exportPreset: String, resultHandler resultHandler: @escaping (AVAssetExportSession?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

Declaration
From
func requestImageForAsset(_ asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?, resultHandler resultHandler: (UIImage?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestImage(for asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions?, resultHandler resultHandler: @escaping (UIImage?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

Declaration
From
func requestImageDataForAsset(_ asset: PHAsset, options options: PHImageRequestOptions?, resultHandler resultHandler: (NSData?, String?, UIImageOrientation, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestImageData(for asset: PHAsset, options options: PHImageRequestOptions?, resultHandler resultHandler: @escaping (Data?, String?, UIImageOrientation, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

Declaration
From
func requestLivePhotoForAsset(_ asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHLivePhotoRequestOptions?, resultHandler resultHandler: (PHLivePhoto?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestLivePhoto(for asset: PHAsset, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHLivePhotoRequestOptions?, resultHandler resultHandler: @escaping (PHLivePhoto?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

Declaration
From
func requestPlayerItemForVideo(_ asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: (AVPlayerItem?, [NSObject : AnyObject]?) -> Void) -> PHImageRequestID
To
func requestPlayerItem(forVideo asset: PHAsset, options options: PHVideoRequestOptions?, resultHandler resultHandler: @escaping (AVPlayerItem?, [AnyHashable : Any]?) -> Swift.Void) -> PHImageRequestID

DeclarationProtocols
From
class PHImageRequestOptions : NSObject, NSCopying {
    var version: PHImageRequestOptionsVersion
    var deliveryMode: PHImageRequestOptionsDeliveryMode
    var resizeMode: PHImageRequestOptionsResizeMode
    var normalizedCropRect: CGRect
    var networkAccessAllowed: Bool
    var synchronous: Bool
    var progressHandler: PHAssetImageProgressHandler?
}
NSCopying
To
class PHImageRequestOptions : NSObject, NSCopying {
    var version: PHImageRequestOptionsVersion
    var deliveryMode: PHImageRequestOptionsDeliveryMode
    var resizeMode: PHImageRequestOptionsResizeMode
    var normalizedCropRect: CGRect
    var isNetworkAccessAllowed: Bool
    var isSynchronous: Bool
    var progressHandler: Photos.PHAssetImageProgressHandler?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHImageRequestOptions : CVarArg {
}
extension PHImageRequestOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
var networkAccessAllowed: Bool
To
var isNetworkAccessAllowed: Bool

Declaration
From
var synchronous: Bool
To
var isSynchronous: Bool

Declaration
From
var progressHandler: PHAssetImageProgressHandler?
To
var progressHandler: Photos.PHAssetImageProgressHandler?

Declaration
From
enum PHImageRequestOptionsDeliveryMode : Int {
    case Opportunistic
    case HighQualityFormat
    case FastFormat
}
To
enum PHImageRequestOptionsDeliveryMode : Int {
    case opportunistic
    case highQualityFormat
    case fastFormat
}

Declaration
From
case FastFormat
To
case fastFormat

Declaration
From
case HighQualityFormat
To
case highQualityFormat

Declaration
From
case Opportunistic
To
case opportunistic

Declaration
From
enum PHImageRequestOptionsResizeMode : Int {
    case None
    case Fast
    case Exact
}
To
enum PHImageRequestOptionsResizeMode : Int {
    case none
    case fast
    case exact
}

Declaration
From
case Exact
To
case exact

Declaration
From
case Fast
To
case fast

Declaration
From
case None
To
case none

Declaration
From
enum PHImageRequestOptionsVersion : Int {
    case Current
    case Unadjusted
    case Original
}
To
enum PHImageRequestOptionsVersion : Int {
    case current
    case unadjusted
    case original
}

Declaration
From
case Current
To
case current

Declaration
From
case Original
To
case original

Declaration
From
case Unadjusted
To
case unadjusted

Modified PHLivePhoto
DeclarationProtocols
From
class PHLivePhoto : NSObject, NSCopying, NSSecureCoding {
    var size: CGSize { get }
    class func requestLivePhotoWithResourceFileURLs(_ fileURLs: [NSURL], placeholderImage image: UIImage?, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, resultHandler resultHandler: (PHLivePhoto?, [NSObject : AnyObject]) -> Void) -> PHLivePhotoRequestID
    class func cancelLivePhotoRequestWithRequestID(_ requestID: PHLivePhotoRequestID)
}
NSCopying, NSSecureCoding
To
class PHLivePhoto : NSObject, NSCopying, NSSecureCoding {
    var size: CGSize { get }
    class func request(withResourceFileURLs fileURLs: [URL], placeholderImage image: UIImage?, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, resultHandler resultHandler: @escaping (PHLivePhoto?, [AnyHashable : Any]) -> Swift.Void) -> PHLivePhotoRequestID
    class func cancelRequest(withRequestID requestID: PHLivePhotoRequestID)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHLivePhoto : CVarArg {
}
extension PHLivePhoto : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
class func cancelLivePhotoRequestWithRequestID(_ requestID: PHLivePhotoRequestID)
To
class func cancelRequest(withRequestID requestID: PHLivePhotoRequestID)

Declaration
From
class func requestLivePhotoWithResourceFileURLs(_ fileURLs: [NSURL], placeholderImage image: UIImage?, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, resultHandler resultHandler: (PHLivePhoto?, [NSObject : AnyObject]) -> Void) -> PHLivePhotoRequestID
To
class func request(withResourceFileURLs fileURLs: [URL], placeholderImage image: UIImage?, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, resultHandler resultHandler: @escaping (PHLivePhoto?, [AnyHashable : Any]) -> Swift.Void) -> PHLivePhotoRequestID

DeclarationProtocols
From
class PHLivePhotoRequestOptions : NSObject, NSCopying {
    var deliveryMode: PHImageRequestOptionsDeliveryMode
    var networkAccessAllowed: Bool
    var progressHandler: PHAssetImageProgressHandler?
}
NSCopying
To
class PHLivePhotoRequestOptions : NSObject, NSCopying {
    var version: PHImageRequestOptionsVersion
    var deliveryMode: PHImageRequestOptionsDeliveryMode
    var isNetworkAccessAllowed: Bool
    var progressHandler: Photos.PHAssetImageProgressHandler?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHLivePhotoRequestOptions : CVarArg {
}
extension PHLivePhotoRequestOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
var networkAccessAllowed: Bool
To
var isNetworkAccessAllowed: Bool

Declaration
From
var progressHandler: PHAssetImageProgressHandler?
To
var progressHandler: Photos.PHAssetImageProgressHandler?

Modified PHObject
DeclarationProtocols
From
class PHObject : NSObject, NSCopying {
    var localIdentifier: String { get }
}
NSCopying
To
class PHObject : NSObject, NSCopying {
    var localIdentifier: String { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHObject : CVarArg {
}
extension PHObject : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

DeclarationProtocolsGenerics[Constraints]Generics[Parameters]
From
class PHObjectChangeDetails : NSObject {
    var objectBeforeChanges: PHObject { get }
    var objectAfterChanges: PHObject? { get }
    var assetContentChanged: Bool { get }
    var objectWasDeleted: Bool { get }
}
--
--
To
class PHObjectChangeDetails<ObjectType : PHObject> : NSObject {
    var objectBeforeChanges: PHObject { get }
    var objectAfterChanges: PHObject? { get }
    var assetContentChanged: Bool { get }
    var objectWasDeleted: Bool { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHObjectChangeDetails : CVarArg {
}
extension PHObjectChangeDetails : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable
ObjectType : PHObject
ObjectType

DeclarationProtocols
From
class PHPhotoLibrary : NSObject {
    class func sharedPhotoLibrary() -> PHPhotoLibrary
    class func authorizationStatus() -> PHAuthorizationStatus
    class func requestAuthorization(_ handler: (PHAuthorizationStatus) -> Void)
    func performChanges(_ changeBlock: dispatch_block_t, completionHandler completionHandler: ((Bool, NSError?) -> Void)?)
    func performChangesAndWait(_ changeBlock: dispatch_block_t) throws
    func registerChangeObserver(_ observer: PHPhotoLibraryChangeObserver)
    func unregisterChangeObserver(_ observer: PHPhotoLibraryChangeObserver)
}
--
To
class PHPhotoLibrary : NSObject {
    class func shared() -> PHPhotoLibrary
    class func authorizationStatus() -> PHAuthorizationStatus
    class func requestAuthorization(_ handler: @escaping (PHAuthorizationStatus) -> Swift.Void)
    func performChanges(_ changeBlock: @escaping () -> Swift.Void, completionHandler completionHandler: (@escaping (Bool, Error?) -> Swift.Void)? = nil)
    func performChangesAndWait(_ changeBlock: @escaping () -> Swift.Void) throws
    func register(_ observer: PHPhotoLibraryChangeObserver)
    func unregisterChangeObserver(_ observer: PHPhotoLibraryChangeObserver)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHPhotoLibrary : CVarArg {
}
extension PHPhotoLibrary : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func performChanges(_ changeBlock: dispatch_block_t, completionHandler completionHandler: ((Bool, NSError?) -> Void)?)
To
func performChanges(_ changeBlock: @escaping () -> Swift.Void, completionHandler completionHandler: (@escaping (Bool, Error?) -> Swift.Void)? = nil)

Declaration
From
func performChangesAndWait(_ changeBlock: dispatch_block_t) throws
To
func performChangesAndWait(_ changeBlock: @escaping () -> Swift.Void) throws

Declaration
From
func registerChangeObserver(_ observer: PHPhotoLibraryChangeObserver)
To
func register(_ observer: PHPhotoLibraryChangeObserver)

Declaration
From
class func requestAuthorization(_ handler: (PHAuthorizationStatus) -> Void)
To
class func requestAuthorization(_ handler: @escaping (PHAuthorizationStatus) -> Swift.Void)

Declaration
From
class func sharedPhotoLibrary() -> PHPhotoLibrary
To
class func shared() -> PHPhotoLibrary

DeclarationProtocols
From
class PHVideoRequestOptions : NSObject {
    var networkAccessAllowed: Bool
    var version: PHVideoRequestOptionsVersion
    var deliveryMode: PHVideoRequestOptionsDeliveryMode
    var progressHandler: PHAssetVideoProgressHandler?
}
--
To
class PHVideoRequestOptions : NSObject {
    var isNetworkAccessAllowed: Bool
    var version: PHVideoRequestOptionsVersion
    var deliveryMode: PHVideoRequestOptionsDeliveryMode
    var progressHandler: Photos.PHAssetVideoProgressHandler?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    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?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension PHVideoRequestOptions : CVarArg {
}
extension PHVideoRequestOptions : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var networkAccessAllowed: Bool
To
var isNetworkAccessAllowed: Bool

Declaration
From
var progressHandler: PHAssetVideoProgressHandler?
To
var progressHandler: Photos.PHAssetVideoProgressHandler?

Declaration
From
enum PHVideoRequestOptionsDeliveryMode : Int {
    case Automatic
    case HighQualityFormat
    case MediumQualityFormat
    case FastFormat
}
To
enum PHVideoRequestOptionsDeliveryMode : Int {
    case automatic
    case highQualityFormat
    case mediumQualityFormat
    case fastFormat
}

Declaration
From
case Automatic
To
case automatic

Declaration
From
case FastFormat
To
case fastFormat

Declaration
From
case HighQualityFormat
To
case highQualityFormat

Declaration
From
case MediumQualityFormat
To
case mediumQualityFormat

Declaration
From
enum PHVideoRequestOptionsVersion : Int {
    case Current
    case Original
}
To
enum PHVideoRequestOptionsVersion : Int {
    case current
    case original
}

Declaration
From
case Current
To
case current

Declaration
From
case Original
To
case original

Declaration
From
typealias PHAssetImageProgressHandler = (Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) -> Void
To
typealias PHAssetImageProgressHandler = (Double, Error?, UnsafeMutablePointer<ObjCBool>, [AnyHashable : Any]?) -> Swift.Void

Declaration
From
typealias PHAssetResourceProgressHandler = (Double) -> Void
To
typealias PHAssetResourceProgressHandler = (Double) -> Swift.Void

Declaration
From
typealias PHAssetVideoProgressHandler = (Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) -> Void
To
typealias PHAssetVideoProgressHandler = (Double, Error?, UnsafeMutablePointer<ObjCBool>, [AnyHashable : Any]?) -> Swift.Void