Documentation Archive Developer
Search

IOBluetooth Changes for Swift

IOBluetooth

Removed IOBluetoothHandsFreeAudioGatewayFeatureAttachedNumberToVoiceTag
Removed IOBluetoothHandsFreeAudioGatewayFeatureECAndOrNRFunction
Removed IOBluetoothHandsFreeAudioGatewayFeatureEnhancedCallControl
Removed IOBluetoothHandsFreeAudioGatewayFeatureEnhancedCallStatus
Removed IOBluetoothHandsFreeAudioGatewayFeatureExtendedErrorResultCodes
Removed IOBluetoothHandsFreeAudioGatewayFeatureInBandRingTone
Removed IOBluetoothHandsFreeAudioGatewayFeatureNone
Removed IOBluetoothHandsFreeAudioGatewayFeatureRejectCallCapability
Removed IOBluetoothHandsFreeAudioGatewayFeatures
Removed IOBluetoothHandsFreeAudioGatewayFeatureThreeWayCalling
Removed IOBluetoothHandsFreeAudioGatewayFeatureVoiceRecognition
Removed IOBluetoothHandsFreeCallHoldMode0
Removed IOBluetoothHandsFreeCallHoldMode1
Removed IOBluetoothHandsFreeCallHoldMode1idx
Removed IOBluetoothHandsFreeCallHoldMode2
Removed IOBluetoothHandsFreeCallHoldMode2idx
Removed IOBluetoothHandsFreeCallHoldMode3
Removed IOBluetoothHandsFreeCallHoldMode4
Removed IOBluetoothHandsFreeCallHoldModes
Removed IOBluetoothHandsFreeDeviceFeatureCLIPresentation
Removed IOBluetoothHandsFreeDeviceFeatureECAndOrNRFunction
Removed IOBluetoothHandsFreeDeviceFeatureEnhancedCallControl
Removed IOBluetoothHandsFreeDeviceFeatureEnhancedCallStatus
Removed IOBluetoothHandsFreeDeviceFeatureNone
Removed IOBluetoothHandsFreeDeviceFeatureRemoteVolumeControl
Removed IOBluetoothHandsFreeDeviceFeatures
Removed IOBluetoothHandsFreeDeviceFeatureThreeWayCalling
Removed IOBluetoothHandsFreeDeviceFeatureVoiceRecognition
Removed IOBluetoothHandsFreeManufactureSpecificSMSSupport
Removed IOBluetoothHandsFreePDUMessageStatus
Removed IOBluetoothHandsFreePDUStatusAll
Removed IOBluetoothHandsFreePDUStatusRecRead
Removed IOBluetoothHandsFreePDUStatusRecUnread
Removed IOBluetoothHandsFreePDUStatusStoSent
Removed IOBluetoothHandsFreePDUStatusStoUnsent
Removed IOBluetoothHandsFreePhase2pSMSSupport
Removed IOBluetoothHandsFreePhase2SMSSupport
Removed IOBluetoothHandsFreeSMSSupport
Removed IOBluetoothSMSMode
Removed IOBluetoothSMSModePDU
Removed IOBluetoothSMSModeText
Added OBEXSessionEvent.init(type: OBEXSessionEventType, session: OBEXSessionRef, refCon: UnsafeMutablePointer<Void>, isEndOfEventData: DarwinBoolean, reserved1: UnsafeMutablePointer<Void>, reserved2: UnsafeMutablePointer<Void>, u: OBEXSessionEvent.__Unnamed_union_u)
Declaration
From
class IOBluetoothDevice : IOBluetoothObject, NSCoding, NSSecureCoding {
    class func registerForConnectNotifications(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
    func registerForDisconnectNotification(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
    convenience init!(address address: UnsafePointer<BluetoothDeviceAddress>)
    class func deviceWithAddress(_ address: UnsafePointer<BluetoothDeviceAddress>) -> Self!
    class func withAddress(_ address: UnsafePointer<BluetoothDeviceAddress>) -> Self!
    convenience init!(addressString address: String!)
    class func deviceWithAddressString(_ address: String!) -> Self!
    class func withDeviceRef(_ deviceRef: IOBluetoothDevice!) -> Self!
    func getDeviceRef() -> Unmanaged<IOBluetoothDevice>!
    func openL2CAPChannelSync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannelAsync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannel(_ psm: BluetoothL2CAPPSM, findExisting findExisting: Bool, newChannel newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>) -> IOReturn
    func sendL2CAPEchoRequest(_ data: UnsafeMutablePointer<Void>, length length: UInt16) -> IOReturn
    func openRFCOMMChannel(_ channelID: BluetoothRFCOMMChannelID, channel rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>) -> IOReturn
    func openRFCOMMChannelSync(_ rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>, withChannelID channelID: BluetoothRFCOMMChannelID, delegate channelDelegate: AnyObject!) -> IOReturn
    func openRFCOMMChannelAsync(_ rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>, withChannelID channelID: BluetoothRFCOMMChannelID, delegate channelDelegate: AnyObject!) -> IOReturn
    var classOfDevice: BluetoothClassOfDevice { get }
    func getClassOfDevice() -> BluetoothClassOfDevice
    var serviceClassMajor: BluetoothServiceClassMajor { get }
    func getServiceClassMajor() -> BluetoothServiceClassMajor
    var deviceClassMajor: BluetoothDeviceClassMajor { get }
    func getDeviceClassMajor() -> BluetoothDeviceClassMajor
    var deviceClassMinor: BluetoothDeviceClassMinor { get }
    func getDeviceClassMinor() -> BluetoothDeviceClassMinor
    var name: String! { get }
    func getName() -> String!
    var nameOrAddress: String! { get }
    func getNameOrAddress() -> String!
    var lastNameUpdate: NSDate! { get }
    func getLastNameUpdate() -> NSDate!
    func getAddress() -> UnsafePointer<BluetoothDeviceAddress>
    var addressString: String! { get }
    func getAddressString() -> String!
    func getPageScanRepetitionMode() -> BluetoothPageScanRepetitionMode
    func getPageScanPeriodMode() -> BluetoothPageScanPeriodMode
    func getPageScanMode() -> BluetoothPageScanMode
    func getClockOffset() -> BluetoothClockOffset
    func getLastInquiryUpdate() -> NSDate!
    func RSSI() -> BluetoothHCIRSSIValue
    func rawRSSI() -> BluetoothHCIRSSIValue
    func isConnected() -> Bool
    func openConnection() -> IOReturn
    func openConnection(_ target: AnyObject!) -> IOReturn
    func openConnection(_ target: AnyObject!, withPageTimeout pageTimeoutValue: BluetoothHCIPageTimeout, authenticationRequired authenticationRequired: Bool) -> IOReturn
    func closeConnection() -> IOReturn
    func remoteNameRequest(_ target: AnyObject!) -> IOReturn
    func remoteNameRequest(_ target: AnyObject!, withPageTimeout pageTimeoutValue: BluetoothHCIPageTimeout) -> IOReturn
    func requestAuthentication() -> IOReturn
    var connectionHandle: BluetoothConnectionHandle { get }
    func getConnectionHandle() -> BluetoothConnectionHandle
    func isIncoming() -> Bool
    func getLinkType() -> BluetoothLinkType
    func getEncryptionMode() -> BluetoothHCIEncryptionMode
    func performSDPQuery(_ target: AnyObject!) -> IOReturn
    func performSDPQuery(_ target: AnyObject!, uuids uuidArray: [AnyObject]!) -> IOReturn
    var services: [AnyObject]! { get }
    func getServices() -> [AnyObject]!
    func getLastServicesUpdate() -> NSDate!
    func getServiceRecordForUUID(_ sdpUUID: IOBluetoothSDPUUID!) -> IOBluetoothSDPServiceRecord!
    class func favoriteDevices() -> [AnyObject]!
    func isFavorite() -> Bool
    func addToFavorites() -> IOReturn
    func removeFromFavorites() -> IOReturn
    class func recentDevices(_ numDevices: UInt) -> [AnyObject]!
    func recentAccessDate() -> NSDate!
    class func pairedDevices() -> [AnyObject]!
    func isPaired() -> Bool
    func setSupervisionTimeout(_ timeout: UInt16) -> IOReturn
    func openL2CAPChannelSync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, withConfiguration channelConfiguration: [NSObject : AnyObject]!, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannelAsync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, withConfiguration channelConfiguration: [NSObject : AnyObject]!, delegate channelDelegate: AnyObject!) -> IOReturn
    func awakeAfterUsingCoder(_ coder: NSCoder!) -> AnyObject!
}
extension IOBluetoothDevice {
    func handsFreeAudioGatewayDriverID() -> String!
    func handsFreeAudioGatewayServiceRecord() -> IOBluetoothSDPServiceRecord!
    var handsFreeAudioGateway: Bool { get }
    func handsFreeDeviceDriverID() -> String!
    func handsFreeDeviceServiceRecord() -> IOBluetoothSDPServiceRecord!
    var handsFreeDevice: Bool { get }
}
To
class IOBluetoothDevice : IOBluetoothObject, NSCoding, NSSecureCoding {
    class func registerForConnectNotifications(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
    func registerForDisconnectNotification(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
    convenience init!(address address: UnsafePointer<BluetoothDeviceAddress>)
    class func deviceWithAddress(_ address: UnsafePointer<BluetoothDeviceAddress>) -> Self!
    class func withAddress(_ address: UnsafePointer<BluetoothDeviceAddress>) -> Self!
    convenience init!(addressString address: String!)
    class func deviceWithAddressString(_ address: String!) -> Self!
    class func withDeviceRef(_ deviceRef: IOBluetoothDeviceRef!) -> Self!
    func getDeviceRef() -> Unmanaged<IOBluetoothDeviceRef>!
    func openL2CAPChannelSync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannelAsync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannel(_ psm: BluetoothL2CAPPSM, findExisting findExisting: Bool, newChannel newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>) -> IOReturn
    func sendL2CAPEchoRequest(_ data: UnsafeMutablePointer<Void>, length length: UInt16) -> IOReturn
    func openRFCOMMChannel(_ channelID: BluetoothRFCOMMChannelID, channel rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>) -> IOReturn
    func openRFCOMMChannelSync(_ rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>, withChannelID channelID: BluetoothRFCOMMChannelID, delegate channelDelegate: AnyObject!) -> IOReturn
    func openRFCOMMChannelAsync(_ rfcommChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothRFCOMMChannel?>, withChannelID channelID: BluetoothRFCOMMChannelID, delegate channelDelegate: AnyObject!) -> IOReturn
    var classOfDevice: BluetoothClassOfDevice { get }
    func getClassOfDevice() -> BluetoothClassOfDevice
    var serviceClassMajor: BluetoothServiceClassMajor { get }
    func getServiceClassMajor() -> BluetoothServiceClassMajor
    var deviceClassMajor: BluetoothDeviceClassMajor { get }
    func getDeviceClassMajor() -> BluetoothDeviceClassMajor
    var deviceClassMinor: BluetoothDeviceClassMinor { get }
    func getDeviceClassMinor() -> BluetoothDeviceClassMinor
    var name: String! { get }
    func getName() -> String!
    var nameOrAddress: String! { get }
    func getNameOrAddress() -> String!
    var lastNameUpdate: NSDate! { get }
    func getLastNameUpdate() -> NSDate!
    func getAddress() -> UnsafePointer<BluetoothDeviceAddress>
    var addressString: String! { get }
    func getAddressString() -> String!
    func getPageScanRepetitionMode() -> BluetoothPageScanRepetitionMode
    func getPageScanPeriodMode() -> BluetoothPageScanPeriodMode
    func getPageScanMode() -> BluetoothPageScanMode
    func getClockOffset() -> BluetoothClockOffset
    func getLastInquiryUpdate() -> NSDate!
    func RSSI() -> BluetoothHCIRSSIValue
    func rawRSSI() -> BluetoothHCIRSSIValue
    func isConnected() -> Bool
    func openConnection() -> IOReturn
    func openConnection(_ target: AnyObject!) -> IOReturn
    func openConnection(_ target: AnyObject!, withPageTimeout pageTimeoutValue: BluetoothHCIPageTimeout, authenticationRequired authenticationRequired: Bool) -> IOReturn
    func closeConnection() -> IOReturn
    func remoteNameRequest(_ target: AnyObject!) -> IOReturn
    func remoteNameRequest(_ target: AnyObject!, withPageTimeout pageTimeoutValue: BluetoothHCIPageTimeout) -> IOReturn
    func requestAuthentication() -> IOReturn
    var connectionHandle: BluetoothConnectionHandle { get }
    func getConnectionHandle() -> BluetoothConnectionHandle
    func isIncoming() -> Bool
    func getLinkType() -> BluetoothLinkType
    func getEncryptionMode() -> BluetoothHCIEncryptionMode
    func performSDPQuery(_ target: AnyObject!) -> IOReturn
    func performSDPQuery(_ target: AnyObject!, uuids uuidArray: [AnyObject]!) -> IOReturn
    var services: [AnyObject]! { get }
    func getServices() -> [AnyObject]!
    func getLastServicesUpdate() -> NSDate!
    func getServiceRecordForUUID(_ sdpUUID: IOBluetoothSDPUUID!) -> IOBluetoothSDPServiceRecord!
    class func favoriteDevices() -> [AnyObject]!
    func isFavorite() -> Bool
    func addToFavorites() -> IOReturn
    func removeFromFavorites() -> IOReturn
    class func recentDevices(_ numDevices: UInt) -> [AnyObject]!
    func recentAccessDate() -> NSDate!
    class func pairedDevices() -> [AnyObject]!
    func isPaired() -> Bool
    func setSupervisionTimeout(_ timeout: UInt16) -> IOReturn
    func openL2CAPChannelSync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, withConfiguration channelConfiguration: [NSObject : AnyObject]!, delegate channelDelegate: AnyObject!) -> IOReturn
    func openL2CAPChannelAsync(_ newChannel: AutoreleasingUnsafeMutablePointer<IOBluetoothL2CAPChannel?>, withPSM psm: BluetoothL2CAPPSM, withConfiguration channelConfiguration: [NSObject : AnyObject]!, delegate channelDelegate: AnyObject!) -> IOReturn
    func awakeAfterUsingCoder(_ coder: NSCoder!) -> AnyObject!
}
extension IOBluetoothDevice {
    func handsFreeAudioGatewayDriverID() -> String!
    func handsFreeAudioGatewayServiceRecord() -> IOBluetoothSDPServiceRecord!
    var handsFreeAudioGateway: Bool { get }
    func handsFreeDeviceDriverID() -> String!
    func handsFreeDeviceServiceRecord() -> IOBluetoothSDPServiceRecord!
    var handsFreeDevice: Bool { get }
}

Declaration
From
typealias IOBluetoothDeviceRef = IOBluetoothDevice
To
class IOBluetoothDeviceRef {
}

Declaration
From
class IOBluetoothHandsFree : NSObject {
    var supportedFeatures: UInt32
    var inputVolume: Float
    var inputMuted: Bool
    var outputVolume: Float
    var outputMuted: Bool
    var device: IOBluetoothDevice! { get }
    var deviceSupportedFeatures: UInt32 { get }
    var deviceSupportedSMSServices: UInt32 { get }
    var deviceCallHoldModes: UInt32 { get }
    var SMSMode: IOBluetoothSMSMode { get }
    var SMSEnabled: Bool { get }
    unowned(unsafe) var delegate: IOBluetoothHandsFreeDelegate!
    func indicator(_ indicatorName: String!) -> Int32
    func setIndicator(_ indicatorName: String!, value indicatorValue: Int32)
    init!(device device: IOBluetoothDevice!, delegate inDelegate: IOBluetoothHandsFreeDelegate!)
    func connect()
    func disconnect()
    func isConnected() -> Bool
    func connectSCO()
    func disconnectSCO()
    func isSCOConnected() -> Bool
}
To
class IOBluetoothHandsFree : NSObject {
    var supportedFeatures: UInt32
    var inputVolume: Float
    var inputMuted: Bool
    var outputVolume: Float
    var outputMuted: Bool
    var device: IOBluetoothDevice! { get }
    var deviceSupportedFeatures: UInt32 { get }
    var deviceSupportedSMSServices: UInt32 { get }
    var deviceCallHoldModes: UInt32 { get }
    var SMSMode: IOBluetoothSMSMode { get }
    var SMSEnabled: Bool { get }
    unowned(unsafe) var delegate: IOBluetoothHandsFreeDelegate!
    func indicator(_ indicatorName: String!) -> Int32
    func setIndicator(_ indicatorName: String!, value indicatorValue: Int32)
    init!(device device: IOBluetoothDevice!, delegate inDelegate: IOBluetoothHandsFreeDelegate!)
    func connect()
    func disconnect()
    var connected: Bool { get }
    func connectSCO()
    func disconnectSCO()
    func isSCOConnected() -> Bool
}

Declaration
From
struct IOBluetoothL2CAPChannelEvent {
    var eventType: IOBluetoothL2CAPChannelEventType
    var status: IOReturn
    init()
}
To
struct IOBluetoothL2CAPChannelEvent {
    struct __Unnamed_union_u {
        var data: IOBluetoothL2CAPChannelDataBlock
        var writeRefCon: UnsafeMutablePointer<Void>
        var padding: (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8)
        init(data data: IOBluetoothL2CAPChannelDataBlock)
        init(writeRefCon writeRefCon: UnsafeMutablePointer<Void>)
        init(padding padding: (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8))
        init()
    }
    var eventType: IOBluetoothL2CAPChannelEventType
    var u: IOBluetoothL2CAPChannelEvent.__Unnamed_union_u
    var status: IOReturn
    init()
    init(eventType eventType: IOBluetoothL2CAPChannelEventType, u u: IOBluetoothL2CAPChannelEvent.__Unnamed_union_u, status status: IOReturn)
}

Declaration
From
typealias IOBluetoothL2CAPChannelRef = IOBluetoothL2CAPChannel
To
class IOBluetoothL2CAPChannelRef {
}

Declaration
From
typealias IOBluetoothObjectRef = IOBluetoothObject
To
class IOBluetoothObjectRef {
}

Declaration
From
class IOBluetoothRFCOMMChannel : IOBluetoothObject, NSPortDelegate {
    class func registerForChannelOpenNotifications(_ object: AnyObject!, selector selector: Selector) -> IOBluetoothUserNotification!
    class func registerForChannelOpenNotifications(_ object: AnyObject!, selector selector: Selector, withChannelID channelID: BluetoothRFCOMMChannelID, direction inDirection: IOBluetoothUserNotificationChannelDirection) -> IOBluetoothUserNotification!
    class func withRFCOMMChannelRef(_ rfcommChannelRef: IOBluetoothRFCOMMChannel!) -> Self!
    class func withObjectID(_ objectID: IOBluetoothObjectID) -> Self!
    func getRFCOMMChannelRef() -> Unmanaged<IOBluetoothRFCOMMChannel>!
    func closeChannel() -> IOReturn
    func isOpen() -> Bool
    func getMTU() -> BluetoothRFCOMMMTU
    func isTransmissionPaused() -> Bool
    func write(_ data: UnsafeMutablePointer<Void>, length length: UInt16, sleep sleep: Bool) -> IOReturn
    func writeAsync(_ data: UnsafeMutablePointer<Void>, length length: UInt16, refcon refcon: UnsafeMutablePointer<Void>) -> IOReturn
    func writeSync(_ data: UnsafeMutablePointer<Void>, length length: UInt16) -> IOReturn
    func writeSimple(_ data: UnsafeMutablePointer<Void>, length length: UInt16, sleep sleep: Bool, bytesSent numBytesSent: UnsafeMutablePointer<UInt32>) -> IOReturn
    func setSerialParameters(_ speed: UInt32, dataBits nBits: UInt8, parity parity: BluetoothRFCOMMParityType, stopBits bitStop: UInt8) -> IOReturn
    func sendRemoteLineStatus(_ lineStatus: BluetoothRFCOMMLineStatus) -> IOReturn
    func setDelegate(_ delegate: AnyObject!) -> IOReturn
    func delegate() -> AnyObject!
    func getChannelID() -> BluetoothRFCOMMChannelID
    func isIncoming() -> Bool
    func getDevice() -> IOBluetoothDevice!
    func getObjectID() -> IOBluetoothObjectID
    func registerForChannelCloseNotification(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
}
To
class IOBluetoothRFCOMMChannel : IOBluetoothObject, NSPortDelegate {
    class func registerForChannelOpenNotifications(_ object: AnyObject!, selector selector: Selector) -> IOBluetoothUserNotification!
    class func registerForChannelOpenNotifications(_ object: AnyObject!, selector selector: Selector, withChannelID channelID: BluetoothRFCOMMChannelID, direction inDirection: IOBluetoothUserNotificationChannelDirection) -> IOBluetoothUserNotification!
    class func withRFCOMMChannelRef(_ rfcommChannelRef: IOBluetoothRFCOMMChannelRef!) -> Self!
    class func withObjectID(_ objectID: IOBluetoothObjectID) -> Self!
    func getRFCOMMChannelRef() -> Unmanaged<IOBluetoothRFCOMMChannelRef>!
    func closeChannel() -> IOReturn
    func isOpen() -> Bool
    func getMTU() -> BluetoothRFCOMMMTU
    func isTransmissionPaused() -> Bool
    func write(_ data: UnsafeMutablePointer<Void>, length length: UInt16, sleep sleep: Bool) -> IOReturn
    func writeAsync(_ data: UnsafeMutablePointer<Void>, length length: UInt16, refcon refcon: UnsafeMutablePointer<Void>) -> IOReturn
    func writeSync(_ data: UnsafeMutablePointer<Void>, length length: UInt16) -> IOReturn
    func writeSimple(_ data: UnsafeMutablePointer<Void>, length length: UInt16, sleep sleep: Bool, bytesSent numBytesSent: UnsafeMutablePointer<UInt32>) -> IOReturn
    func setSerialParameters(_ speed: UInt32, dataBits nBits: UInt8, parity parity: BluetoothRFCOMMParityType, stopBits bitStop: UInt8) -> IOReturn
    func sendRemoteLineStatus(_ lineStatus: BluetoothRFCOMMLineStatus) -> IOReturn
    func setDelegate(_ delegate: AnyObject!) -> IOReturn
    func delegate() -> AnyObject!
    func getChannelID() -> BluetoothRFCOMMChannelID
    func isIncoming() -> Bool
    func getDevice() -> IOBluetoothDevice!
    func getObjectID() -> IOBluetoothObjectID
    func registerForChannelCloseNotification(_ observer: AnyObject!, selector inSelector: Selector) -> IOBluetoothUserNotification!
}

Declaration
From
func getRFCOMMChannelRef() -> Unmanaged<IOBluetoothRFCOMMChannel>!
To
func getRFCOMMChannelRef() -> Unmanaged<IOBluetoothRFCOMMChannelRef>!

Declaration
From
class func withRFCOMMChannelRef(_ rfcommChannelRef: IOBluetoothRFCOMMChannel!) -> Self!
To
class func withRFCOMMChannelRef(_ rfcommChannelRef: IOBluetoothRFCOMMChannelRef!) -> Self!

Declaration
From
typealias IOBluetoothRFCOMMChannelRef = IOBluetoothRFCOMMChannel
To
class IOBluetoothRFCOMMChannelRef {
}

Declaration
From
class IOBluetoothSDPDataElement : NSObject, NSCoding {
    class func withElementValue(_ element: NSObject!) -> Self!
    class func withType(_ type: BluetoothSDPDataElementTypeDescriptor, sizeDescriptor newSizeDescriptor: BluetoothSDPDataElementSizeDescriptor, size newSize: UInt32, value newValue: NSObject!) -> Self!
    class func withSDPDataElementRef(_ sdpDataElementRef: IOBluetoothSDPDataElement!) -> Self!
    init!(elementValue element: NSObject!)
    init!(type newType: BluetoothSDPDataElementTypeDescriptor, sizeDescriptor newSizeDescriptor: BluetoothSDPDataElementSizeDescriptor, size newSize: UInt32, value newValue: NSObject!)
    func getSDPDataElementRef() -> Unmanaged<IOBluetoothSDPDataElement>!
    func getTypeDescriptor() -> BluetoothSDPDataElementTypeDescriptor
    func getSizeDescriptor() -> BluetoothSDPDataElementSizeDescriptor
    func getSize() -> UInt32
    func getNumberValue() -> NSNumber!
    func getDataValue() -> NSData!
    func getStringValue() -> String!
    func getArrayValue() -> [AnyObject]!
    func getUUIDValue() -> IOBluetoothSDPUUID!
    func getValue() -> NSObject!
    func containsDataElement(_ dataElement: IOBluetoothSDPDataElement!) -> Bool
    func containsValue(_ cmpValue: NSObject!) -> Bool
}
To
class IOBluetoothSDPDataElement : NSObject, NSCoding {
    class func withElementValue(_ element: NSObject!) -> Self!
    class func withType(_ type: BluetoothSDPDataElementTypeDescriptor, sizeDescriptor newSizeDescriptor: BluetoothSDPDataElementSizeDescriptor, size newSize: UInt32, value newValue: NSObject!) -> Self!
    class func withSDPDataElementRef(_ sdpDataElementRef: IOBluetoothSDPDataElementRef!) -> Self!
    init!(elementValue element: NSObject!)
    init!(type newType: BluetoothSDPDataElementTypeDescriptor, sizeDescriptor newSizeDescriptor: BluetoothSDPDataElementSizeDescriptor, size newSize: UInt32, value newValue: NSObject!)
    func getSDPDataElementRef() -> Unmanaged<IOBluetoothSDPDataElementRef>!
    func getTypeDescriptor() -> BluetoothSDPDataElementTypeDescriptor
    func getSizeDescriptor() -> BluetoothSDPDataElementSizeDescriptor
    func getSize() -> UInt32
    func getNumberValue() -> NSNumber!
    func getDataValue() -> NSData!
    func getStringValue() -> String!
    func getArrayValue() -> [AnyObject]!
    func getUUIDValue() -> IOBluetoothSDPUUID!
    func getValue() -> NSObject!
    func containsDataElement(_ dataElement: IOBluetoothSDPDataElement!) -> Bool
    func containsValue(_ cmpValue: NSObject!) -> Bool
}

Declaration
From
func getSDPDataElementRef() -> Unmanaged<IOBluetoothSDPDataElement>!
To
func getSDPDataElementRef() -> Unmanaged<IOBluetoothSDPDataElementRef>!

Declaration
From
class func withSDPDataElementRef(_ sdpDataElementRef: IOBluetoothSDPDataElement!) -> Self!
To
class func withSDPDataElementRef(_ sdpDataElementRef: IOBluetoothSDPDataElementRef!) -> Self!

Declaration
From
typealias IOBluetoothSDPDataElementRef = IOBluetoothSDPDataElement
To
class IOBluetoothSDPDataElementRef {
}

Declaration
From
class IOBluetoothSDPServiceRecord : NSObject, NSCoding {
    class func publishedServiceRecordWithDictionary(_ serviceDict: [NSObject : AnyObject]!) -> Self!
    func removeServiceRecord() -> IOReturn
    class func withServiceDictionary(_ serviceDict: [NSObject : AnyObject]!, device device: IOBluetoothDevice!) -> Self!
    init!(serviceDictionary serviceDict: [NSObject : AnyObject]!, device device: IOBluetoothDevice!)
    class func withSDPServiceRecordRef(_ sdpServiceRecordRef: IOBluetoothSDPServiceRecord!) -> Self!
    func getSDPServiceRecordRef() -> Unmanaged<IOBluetoothSDPServiceRecord>!
    var device: IOBluetoothDevice! { get }
    func getDevice() -> IOBluetoothDevice!
    var attributes: [NSObject : AnyObject]! { get }
    func getAttributes() -> [NSObject : AnyObject]!
    func getAttributeDataElement(_ attributeID: BluetoothSDPServiceAttributeID) -> IOBluetoothSDPDataElement!
    func getServiceName() -> String!
    func getRFCOMMChannelID(_ rfcommChannelID: UnsafeMutablePointer<BluetoothRFCOMMChannelID>) -> IOReturn
    func getL2CAPPSM(_ outPSM: UnsafeMutablePointer<BluetoothL2CAPPSM>) -> IOReturn
    func getServiceRecordHandle(_ outServiceRecordHandle: UnsafeMutablePointer<BluetoothSDPServiceRecordHandle>) -> IOReturn
    func matchesUUID16(_ uuid16: BluetoothSDPUUID16) -> Bool
    func matchesUUIDArray(_ uuidArray: [AnyObject]!) -> Bool
    func matchesSearchArray(_ searchArray: [AnyObject]!) -> Bool
    func hasServiceFromArray(_ array: [AnyObject]!) -> Bool
    var sortedAttributes: [AnyObject]! { get }
}
extension IOBluetoothSDPServiceRecord {
    func handsFreeSupportedFeatures() -> UInt16
}
To
class IOBluetoothSDPServiceRecord : NSObject, NSCoding {
    class func publishedServiceRecordWithDictionary(_ serviceDict: [NSObject : AnyObject]!) -> Self!
    func removeServiceRecord() -> IOReturn
    class func withServiceDictionary(_ serviceDict: [NSObject : AnyObject]!, device device: IOBluetoothDevice!) -> Self!
    init!(serviceDictionary serviceDict: [NSObject : AnyObject]!, device device: IOBluetoothDevice!)
    class func withSDPServiceRecordRef(_ sdpServiceRecordRef: IOBluetoothSDPServiceRecordRef!) -> Self!
    func getSDPServiceRecordRef() -> Unmanaged<IOBluetoothSDPServiceRecordRef>!
    var device: IOBluetoothDevice! { get }
    func getDevice() -> IOBluetoothDevice!
    var attributes: [NSObject : AnyObject]! { get }
    func getAttributes() -> [NSObject : AnyObject]!
    func getAttributeDataElement(_ attributeID: BluetoothSDPServiceAttributeID) -> IOBluetoothSDPDataElement!
    func getServiceName() -> String!
    func getRFCOMMChannelID(_ rfcommChannelID: UnsafeMutablePointer<BluetoothRFCOMMChannelID>) -> IOReturn
    func getL2CAPPSM(_ outPSM: UnsafeMutablePointer<BluetoothL2CAPPSM>) -> IOReturn
    func getServiceRecordHandle(_ outServiceRecordHandle: UnsafeMutablePointer<BluetoothSDPServiceRecordHandle>) -> IOReturn
    func matchesUUID16(_ uuid16: BluetoothSDPUUID16) -> Bool
    func matchesUUIDArray(_ uuidArray: [AnyObject]!) -> Bool
    func matchesSearchArray(_ searchArray: [AnyObject]!) -> Bool
    func hasServiceFromArray(_ array: [AnyObject]!) -> Bool
    var sortedAttributes: [AnyObject]! { get }
}
extension IOBluetoothSDPServiceRecord {
    func handsFreeSupportedFeatures() -> UInt16
}

Declaration
From
func getSDPServiceRecordRef() -> Unmanaged<IOBluetoothSDPServiceRecord>!
To
func getSDPServiceRecordRef() -> Unmanaged<IOBluetoothSDPServiceRecordRef>!

Declaration
From
class func withSDPServiceRecordRef(_ sdpServiceRecordRef: IOBluetoothSDPServiceRecord!) -> Self!
To
class func withSDPServiceRecordRef(_ sdpServiceRecordRef: IOBluetoothSDPServiceRecordRef!) -> Self!

Declaration
From
typealias IOBluetoothSDPServiceRecordRef = IOBluetoothSDPServiceRecord
To
class IOBluetoothSDPServiceRecordRef {
}

Declaration
From
class IOBluetoothSDPUUID : NSData {
    class func uuidWithBytes(_ bytes: UnsafePointer<Void>, length length: UInt32) -> Self!
    class func uuidWithData(_ data: NSData!) -> Self!
    class func uuid16(_ uuid16: BluetoothSDPUUID16) -> Self!
    class func uuid32(_ uuid32: BluetoothSDPUUID32) -> Self!
    class func withSDPUUIDRef(_ sdpUUIDRef: IOBluetoothSDPUUID!) -> Self!
    init!(UUID16 uuid16: BluetoothSDPUUID16)
    init!(UUID32 uuid32: BluetoothSDPUUID32)
    func getSDPUUIDRef() -> Unmanaged<IOBluetoothSDPUUID>!
    func getUUIDWithLength(_ newLength: UInt32) -> Self!
    func isEqualToUUID(_ otherUUID: IOBluetoothSDPUUID!) -> Bool
    func classForCoder() -> AnyClass!
    func classForArchiver() -> AnyClass!
    func classForPortCoder() -> AnyClass!
}
To
class IOBluetoothSDPUUID : NSData {
    class func uuidWithBytes(_ bytes: UnsafePointer<Void>, length length: UInt32) -> Self!
    class func uuidWithData(_ data: NSData!) -> Self!
    class func uuid16(_ uuid16: BluetoothSDPUUID16) -> Self!
    class func uuid32(_ uuid32: BluetoothSDPUUID32) -> Self!
    class func withSDPUUIDRef(_ sdpUUIDRef: IOBluetoothSDPUUIDRef!) -> Self!
    init!(UUID16 uuid16: BluetoothSDPUUID16)
    init!(UUID32 uuid32: BluetoothSDPUUID32)
    func getSDPUUIDRef() -> Unmanaged<IOBluetoothSDPUUIDRef>!
    func getUUIDWithLength(_ newLength: UInt32) -> Self!
    func isEqualToUUID(_ otherUUID: IOBluetoothSDPUUID!) -> Bool
    func classForCoder() -> AnyClass!
    func classForArchiver() -> AnyClass!
    func classForPortCoder() -> AnyClass!
}

Declaration
From
typealias IOBluetoothSDPUUIDRef = IOBluetoothSDPUUID
To
class IOBluetoothSDPUUIDRef {
}

Declaration
From
typealias IOBluetoothUserNotificationRef = IOBluetoothUserNotification
To
class IOBluetoothUserNotificationRef {
}

Declaration
From
struct OBEXSessionEvent {
    var type: OBEXSessionEventType
    var session: OBEXSessionRef
    var refCon: UnsafeMutablePointer<Void>
    var isEndOfEventData: DarwinBoolean
    var reserved1: UnsafeMutablePointer<Void>
    var reserved2: UnsafeMutablePointer<Void>
    init()
}
To
struct OBEXSessionEvent {
    struct __Unnamed_union_u {
        var connectCommandResponseData: OBEXConnectCommandResponseData
        var disconnectCommandResponseData: OBEXDisconnectCommandResponseData
        var putCommandResponseData: OBEXPutCommandResponseData
        var getCommandResponseData: OBEXGetCommandResponseData
        var setPathCommandResponseData: OBEXSetPathCommandResponseData
        var abortCommandResponseData: OBEXAbortCommandResponseData
        var connectCommandData: OBEXConnectCommandData
        var disconnectCommandData: OBEXDisconnectCommandData
        var putCommandData: OBEXPutCommandData
        var getCommandData: OBEXGetCommandData
        var setPathCommandData: OBEXSetPathCommandData
        var abortCommandData: OBEXAbortCommandData
        var errorData: OBEXErrorData
        init(connectCommandResponseData connectCommandResponseData: OBEXConnectCommandResponseData)
        init(disconnectCommandResponseData disconnectCommandResponseData: OBEXDisconnectCommandResponseData)
        init(putCommandResponseData putCommandResponseData: OBEXPutCommandResponseData)
        init(getCommandResponseData getCommandResponseData: OBEXGetCommandResponseData)
        init(setPathCommandResponseData setPathCommandResponseData: OBEXSetPathCommandResponseData)
        init(abortCommandResponseData abortCommandResponseData: OBEXAbortCommandResponseData)
        init(connectCommandData connectCommandData: OBEXConnectCommandData)
        init(disconnectCommandData disconnectCommandData: OBEXDisconnectCommandData)
        init(putCommandData putCommandData: OBEXPutCommandData)
        init(getCommandData getCommandData: OBEXGetCommandData)
        init(setPathCommandData setPathCommandData: OBEXSetPathCommandData)
        init(abortCommandData abortCommandData: OBEXAbortCommandData)
        init(errorData errorData: OBEXErrorData)
        init()
    }
    var type: OBEXSessionEventType
    var session: OBEXSessionRef
    var refCon: UnsafeMutablePointer<Void>
    var isEndOfEventData: DarwinBoolean
    var reserved1: UnsafeMutablePointer<Void>
    var reserved2: UnsafeMutablePointer<Void>
    var u: OBEXSessionEvent.__Unnamed_union_u
    init()
    init(type type: OBEXSessionEventType, session session: OBEXSessionRef, refCon refCon: UnsafeMutablePointer<Void>, isEndOfEventData isEndOfEventData: DarwinBoolean, reserved1 reserved1: UnsafeMutablePointer<Void>, reserved2 reserved2: UnsafeMutablePointer<Void>, u u: OBEXSessionEvent.__Unnamed_union_u)
}

Declaration
From
func IOBluetoothDeviceRegisterForDisconnectNotification(_ inDevice: IOBluetoothDevice!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothDeviceRegisterForDisconnectNotification(_ inDevice: IOBluetoothDeviceRef!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothIgnoreHIDDevice(_ device: IOBluetoothDevice!)
To
func IOBluetoothIgnoreHIDDevice(_ device: IOBluetoothDeviceRef!)

Declaration
From
typealias IOBluetoothL2CAPChannelIncomingDataListener = (IOBluetoothL2CAPChannel!, UnsafeMutablePointer<Void>, UInt16, UnsafeMutablePointer<Void>) -> Void
To
typealias IOBluetoothL2CAPChannelIncomingDataListener = (IOBluetoothL2CAPChannelRef!, UnsafeMutablePointer<Void>, UInt16, UnsafeMutablePointer<Void>) -> Void

Declaration
From
typealias IOBluetoothL2CAPChannelIncomingEventListener = (IOBluetoothL2CAPChannel!, UnsafeMutablePointer<Void>, UnsafeMutablePointer<IOBluetoothL2CAPChannelEvent>) -> Void
To
typealias IOBluetoothL2CAPChannelIncomingEventListener = (IOBluetoothL2CAPChannelRef!, UnsafeMutablePointer<Void>, UnsafeMutablePointer<IOBluetoothL2CAPChannelEvent>) -> Void

Declaration
From
func IOBluetoothL2CAPChannelRegisterForChannelCloseNotification(_ channel: IOBluetoothL2CAPChannel!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothL2CAPChannelRegisterForChannelCloseNotification(_ channel: IOBluetoothL2CAPChannelRef!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRegisterForDeviceConnectNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRegisterForDeviceConnectNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>, _ inPSM: BluetoothL2CAPPSM, _ inDirection: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>, _ inPSM: BluetoothL2CAPPSM, _ inDirection: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>, _ channelID: BluetoothRFCOMMChannelID, _ inDirection: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>, _ channelID: BluetoothRFCOMMChannelID, _ inDirection: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRegisterForL2CAPChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRegisterForL2CAPChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRegisterForRFCOMMChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRegisterForRFCOMMChannelOpenNotifications(_ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
func IOBluetoothRemoveIgnoredHIDDevice(_ device: IOBluetoothDevice!)
To
func IOBluetoothRemoveIgnoredHIDDevice(_ device: IOBluetoothDeviceRef!)

Declaration
From
func IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification(_ inChannel: IOBluetoothRFCOMMChannel!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!
To
func IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification(_ inChannel: IOBluetoothRFCOMMChannelRef!, _ callback: IOBluetoothUserNotificationCallback!, _ inRefCon: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotificationRef>!

Declaration
From
typealias IOBluetoothUserNotificationCallback = (UnsafeMutablePointer<Void>, IOBluetoothUserNotification!, IOBluetoothObject!) -> Void
To
typealias IOBluetoothUserNotificationCallback = (UnsafeMutablePointer<Void>, IOBluetoothUserNotificationRef!, IOBluetoothObjectRef!) -> Void

Declaration
From
func IOBluetoothUserNotificationUnregister(_ notificationRef: IOBluetoothUserNotification!)
To
func IOBluetoothUserNotificationUnregister(_ notificationRef: IOBluetoothUserNotificationRef!)