-
Notifications
You must be signed in to change notification settings - Fork 520
DeviceDiscoveryExtension iOS xcode16.0 b1
Rolf Bjarne Kvinge edited this page Jul 11, 2024
·
3 revisions
#DeviceDiscoveryExtension.framework https://github.com/xamarin/xamarin-macios/pull/20870
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/DeviceDiscoveryExtension.framework/Headers/DDDevice.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/DeviceDiscoveryExtension.framework/Headers/DDDevice.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/DeviceDiscoveryExtension.framework/Headers/DDDevice.h 2024-04-13 15:16:13
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/DeviceDiscoveryExtension.framework/Headers/DDDevice.h 2024-05-30 09:08:10
@@ -1,4 +1,4 @@
-// Copyright (C) 2021-2022 Apple Inc. All Rights Reserved.
+// Copyright (C) 2021-2024 Apple Inc. All Rights Reserved.
#ifndef DEVICE_DISCOVERY_EXTENSION_INDIRECT_INCLUDES
#error "Please #import <DeviceDiscoveryExtension/DeviceDiscoveryExtension.h> instead of this file directly."
@@ -50,6 +50,7 @@
DDDeviceCategoryTV NS_SWIFT_NAME(tv) = 3, /// TV.
DDDeviceCategoryLaptopComputer NS_SWIFT_NAME(laptopComputer) = 4, /// Laptop computer.
DDDeviceCategoryDesktopComputer NS_SWIFT_NAME(desktopComputer) = 5, /// Desktop computer.
+ DDDeviceCategoryAccessorySetup NS_SWIFT_NAME(accessorySetup) = 6, /// AccessorySetupKit.
} NS_SWIFT_NAME(DDDevice.Category);
/// Converts a device category to a string for logging, etc.
@@ -82,6 +83,15 @@
DDDeviceMediaPlaybackStatePlaying = 2, /// Media content is playing.
} NS_SWIFT_NAME(DDDevice.MediaPlaybackState);
+//===========================================================================================================================
+/*! @brief Device Support
+*/
+typedef NS_OPTIONS( NSUInteger, DDDeviceSupports )
+{
+ DDDeviceSupportsBluetoothPairingLE = ( 1U << 1 ), /// Device supports Bluetooth Low Energy pairing.
+ DDDeviceSupportsBluetoothTransportBridging = ( 1U << 2 ), /// Device supports bring up of classic transport profiles when low energy transport for peripheral is connected.
+};
+
/// Converts a device media playback state to a string for logging, etc.
DD_EXTERN
API_AVAILABLE( ios( 16.0 ) )
@@ -99,18 +109,35 @@
- (instancetype) initWithDisplayName:(NSString *) displayName category:(DDDeviceCategory) category
protocolType:(UTType *) protocolType identifier:(NSString *) identifier NS_DESIGNATED_INITIALIZER;
+/// Device supported capabilities.
+@property (readwrite, assign, nonatomic) DDDeviceSupports deviceSupports
+ API_AVAILABLE( ios( 18.0 ) );
+
/// Identifier to communicate with the device via Bluetooth.
@property (readwrite, strong, nullable, nonatomic) NSUUID *bluetoothIdentifier;
/// Category of the device.
@property (readwrite, assign, nonatomic) DDDeviceCategory category;
+/// Device's custom asset for product image name in the main App bundle.
+@property (readwrite, copy, nullable, nonatomic) NSString *displayImageName
+ API_AVAILABLE( ios( 18.0 ) );
+
/// Name of the device. Should be suitable for displaying to a user.
@property (readwrite, copy, nonatomic) NSString *displayName;
/// Identifier of the device.
@property (readwrite, copy, nonatomic) NSString *identifier;
+/// Current state of media playback on this device.
+@property (readwrite, assign, nonatomic) DDDeviceMediaPlaybackState mediaPlaybackState;
+
+/// Title of the media content being played.
+@property (readwrite, copy, nullable, nonatomic) NSString *mediaContentTitle;
+
+/// Subtitle of the media content being played. It can be used to display extra information about the content, such as the name of the artist.
+@property (readwrite, copy, nullable, nonatomic) NSString *mediaContentSubtitle;
+
/// Endpoint to communicate with the device via networking.
@property (readwrite, dd_os_ownership, nullable, nonatomic) nw_endpoint_t networkEndpoint
NS_REFINED_FOR_SWIFT;
@@ -124,9 +151,13 @@
/// State of the device.
@property (readwrite, assign, nonatomic) DDDeviceState state;
+/// Device's WiFi Hotspot SSID.
+@property (readwrite, copy, nullable, nonatomic) NSString *SSID
+ API_AVAILABLE( ios( 18.0 ) );
+
/// Whether the device supports grouping with other devices with the same protocol.
@property (readwrite, assign, nonatomic) BOOL supportsGrouping
- API_AVAILABLE( ios( 17.0 ) );
+ API_AVAILABLE( ios( 17.0 ) );
/// TXT record of the device.
@property (readwrite, copy, nullable, nonatomic) NSData *txtRecordData
@@ -136,14 +167,6 @@
/// The URL must have a valid hostname, no query parameters, and a maximum size of 100 bytes.
@property (readwrite, copy, nonatomic) NSURL *url;
-/// Current state of media playback on this device.
-@property (readwrite, assign, nonatomic) DDDeviceMediaPlaybackState mediaPlaybackState;
-
-/// Title of the media content being played.
-@property (readwrite, copy, nullable, nonatomic) NSString *mediaContentTitle;
-
-/// Subtitle of the media content being played. It can be used to display extra information about the content, such as the name of the artist.
-@property (readwrite, copy, nullable, nonatomic) NSString *mediaContentSubtitle;
@end