-
Notifications
You must be signed in to change notification settings - Fork 548
AccessorySetupKit macOS xcode16.1 b3
Alex Soto edited this page Oct 7, 2024
·
2 revisions
#AccessorySetupKit.framework
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessory.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessory.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessory.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessory.h 2024-09-17 18:27:09
@@ -30,7 +30,8 @@
*/
typedef NS_OPTIONS( NSUInteger, ASAccessoryRenameOptions )
{
- ASAccessoryRenameSSID NS_SWIFT_NAME(ssid) = ( 1U << 0 ), /// Change Accessory's SSID along with display name.
+ /// An option to change an accessory's SSID along with its display name.
+ ASAccessoryRenameSSID NS_SWIFT_NAME(ssid) = ( 1U << 0 ),
} NS_SWIFT_NAME(ASAccessory.RenameOptions);
//---------------------------------------------------------------------------------------------------------------------------
@@ -38,7 +39,11 @@
*/
typedef NS_OPTIONS( NSUInteger, ASAccessorySupportOptions )
{
+ /// The accessory supports Bluetooth Low Energy pairing.
ASAccessorySupportBluetoothPairingLE = ( 1U << 1 ), // Accessory supports Bluetooth Low Energy pairing.
+ /// The accessory supports bridging to Bluetooth classic transport.
+ ///
+ /// This option indicates that when connecting with low energy transport, the accessory supports activating Bluetooth classic transport profiles.
ASAccessorySupportBluetoothTransportBridging = ( 1U << 2 ), // Accessory supports bring up of classic transport profiles when low energy transport for peripheral is connected.
} NS_SWIFT_NAME(ASAccessory.SupportOptions);
@@ -47,40 +52,26 @@
NS_SWIFT_SENDABLE
@interface ASAccessory : NSObject
-/*!
- @property state
- @abstract State of the accessory.
-*/
+/// The current authorization state of the accessory.
@property (readonly, assign, nonatomic) ASAccessoryState state;
-/*!
- @property bluetoothIdentifier
- @abstract A bluetooth identifier which clients can use to establish a connection to a bluetooth device.
-*/
+/// The accessory's unique Bluetooth identifier, if any.
+///
+/// Use this identifier to establish a connection to the accessory.
@property (readonly, copy, nullable, nonatomic) NSUUID *bluetoothIdentifier;
-/*!
- @property bluetoothTransportBridgingIdentifier
- @abstract Identifier for bridging classic transport profiles.
-*/
+/// The accessory's Bluetooth identifier, if any, for use when bridging classic transport profiles.
@property (readonly, copy, nullable, nonatomic) NSData *bluetoothTransportBridgingIdentifier;
-/*!
- @property name
- @abstract String which clients can use to display name of the accessory.
-*/
+/// The accessory's name, suitable for displaying to someone using your app.
@property (readonly, copy, nonatomic) NSString *displayName;
-/*!
- @property SSID
- @abstract Identifier which clients can use to connect to accessory's WiFi network.
-*/
+/// The accessory's Wi-Fi SSID, if any.
+///
+/// Use this identifier to establish a connection to the accessory.
@property (readonly, copy, nullable, nonatomic) NSString *SSID;
-/*!
- @property descriptor
- @abstract Descriptor when accessory was discovered.
-*/
+/// The descriptor used to discover the accessory.
@property (readonly, copy, nonatomic) ASDiscoveryDescriptor *descriptor;
@end
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessoryEvent.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessoryEvent.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessoryEvent.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessoryEvent.h 2024-09-17 18:27:09
@@ -23,18 +23,33 @@
/// Type of event.
typedef NS_ENUM( NSInteger, ASAccessoryEventType )
{
+ /// An unknown event occurred.
+ ///
+ /// This is a placeholder value used when initializing event type instances.
ASAccessoryEventTypeUnknown = 0, // Unknown event. Placeholder for initializing event types.
+ /// The discovery session activated.
ASAccessoryEventTypeActivated = 10, // [ASAccessoryEvent] Instance activate completed.
+ /// The discovery session invalidated.
ASAccessoryEventTypeInvalidated = 11, // [ASAccessoryEvent] Instance invalidated.
+ /// The migration of an accessory completed.
ASAccessoryEventTypeMigrationComplete = 20, // [ASAccessoryEvent] Accessories migration complete.
+ /// The session added an accessory.
ASAccessoryEventTypeAccessoryAdded = 30, // [ASAccessoryEvent] Accessory added.
+ /// The session removed an accessory.
ASAccessoryEventTypeAccessoryRemoved = 31, // [ASAccessoryEvent] Accessory removed from system.
+ /// The properties of an accessory changed.
ASAccessoryEventTypeAccessoryChanged = 32, // [ASAccessoryEvent] Accessory properties changed.
+ /// The discovery session picker appeared.
ASAccessoryEventTypePickerDidPresent = 40, // [ASAccessoryEvent] Picker did present.
+ /// The discovery session picker dismissed.
ASAccessoryEventTypePickerDidDismiss = 50, // [ASAccessoryEvent] Picker did dismiss.
+ /// The discovery session picker started bridging with an accessory.
ASAccessoryEventTypePickerSetupBridging = 60, // [ASAccessoryEvent] Picker started bridging with accessory.
+ /// The discovery session picker setup failed.
ASAccessoryEventTypePickerSetupFailed = 70, // [ASAccessoryEvent] Picker failed setup for accessory.
+ /// The discovery session picker started pairing with a Bluetooth accessory.
ASAccessoryEventTypePickerSetupPairing = 80, // [ASAccessoryEvent] Picker started pairing with accessory.
+ /// The discovery session picker started renaming an accessory.
ASAccessoryEventTypePickerSetupRename = 90, // [ASAccessoryEvent] Picker started rename of accessory.
};
@@ -44,13 +59,17 @@
API_AVAILABLE( ios( 18.0 ) ) API_UNAVAILABLE(macos, macCatalyst, watchos, tvos, visionos)
@interface ASAccessoryEvent : NSObject
-/// Type of event. Type may indicate the subclass of ASAccessoryEvent to provide additional properties.
+/// The type of event, such as accessory addition or removal, or picker presentation or removal.
+///
+/// Some event types may indicate that the event is a subclass of ``ASAccessoryEvent-c.class`` that provides additional properties.
@property (readonly, assign, nonatomic) ASAccessoryEventType eventType;
-/// Accessory found, lost or changed.
+/// The accessory involved in the event, if any.
+///
+/// The session populates this member for event types like ``ASAccessoryEventType/accessoryAdded`` and ``ASAccessoryEventType/accessoryChanged``, but not for life cycle or picker events like ``ASAccessoryEventType/activated`` or ``ASAccessoryEventType/pickerDidPresent``.
@property (readonly, copy, nullable, nonatomic) ASAccessory *accessory;
-/// Any error for event type.
+/// The error associated with the event, if any.
@property (readonly, copy, nullable, nonatomic) NSError *error;
- (instancetype) init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySession.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySession.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySession.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySession.h 2024-09-17 18:27:08
@@ -27,42 +27,76 @@
API_AVAILABLE( ios( 18.0 ) ) API_UNAVAILABLE(macos, macCatalyst, watchos, tvos, visionos)
@interface ASAccessorySession : NSObject
-/// Previously selected accessories for this application. To monitor changes listen for `eventHandler`.
+/// An array of previously-selected accessories for this application.
+///
+/// To monitor for changes in this list, use your event handler to watch for the events ``ASAccessoryEventType/accessoryAdded``, ``ASAccessoryEventType/accessoryChanged``, and ``ASAccessoryEventType/accessoryRemoved``.
@property (readonly, copy, nonatomic) NSArray<ASAccessory *> *accessories;
-/// Activate the session with dispatch queue and event handler.
+/// Activate the session and start delivering events to an event handler.
+/// - Parameters:
+/// - queue: The dispatch the session uses to deliver events to `eventHandler`.
+/// - eventHandler: A closure or block that receives events generated by the session. Each callback to the event handler provides an ``ASAccessoryEvent`` as a parameter, and expects no return value.
- (void) activateWithQueue:(dispatch_queue_t) queue eventHandler:(void(^)(ASAccessoryEvent *event)) eventHandler
NS_SWIFT_NAME(activate(on:eventHandler:));
-/// Stops any operations and breaks retain cycles. The object cannot be used after calling this.
+/// Invalidate the session by stopping any operations.
+///
+/// This call breaks any retain cycles. The session is unusable after calling `invalidate`.
- (void) invalidate;
-/// Discover display items in App Extension.
+/// Present a picker that shows accessories managed by a Device Discovery Extension in your app.
+///
+/// Use this method when your app includes a <doc://com.apple.documentation/documentation/devicediscoveryextension> for its supported accessories. If your app doesn't use DDE, call ``showPickerForDisplayItems:completionHandler:`` with an array of ``ASPickerDisplayItem-c.class`` instances instead.
+///
+/// The session's event handler receives events when this picker displays and dismisses, as well as when the person using the app picks an accessory.
+///
+/// - Parameters:
+/// - completionHandler: A block or closure that the picker calls when it completes the operation. The completion handler receives an <doc://com.apple.documentation/documentation/Foundation/NSError> instance if the picker encounters an error.
- (void) showPickerWithCompletionHandler:(void(^)(NSError * _Nullable error)) completionHandler
NS_SWIFT_NAME(showPicker(completionHandler:));
-/// Discover display items in picker.
+/// Present a picker that shows discovered accessories matching an array of display items.
+///
+/// The session's event handler receives events when this picker displays and dismisses, as well as when the person using the app picks an accessory.
+///
+/// To migrate previously-configured accessories to AccessorySetupKit, add instances of ``ASMigrationDisplayItem`` to the `displayItems` array.
+/// - Parameters:
+/// - displayItems: An array of ``ASPickerDisplayItem`` instances describing accessories your app can set up. The picker displays only discovered accessories that match the properties of items in this array.
+/// - completionHandler: A block or closure that the picker calls when it completes the operation. The completion handler receives an <doc://com.apple.documentation/documentation/Foundation/NSError> instance if the picker encounters an error.
- (void) showPickerForDisplayItems:(NSArray<ASPickerDisplayItem *> *) displayItems
completionHandler:(void(^)(NSError * _Nullable error)) completionHandler
NS_SWIFT_NAME(showPicker(for:completionHandler:));
-/// Finish accessory setup awaiting authorization.
+/// Finish authorization of a partially-setup accessory.
+///
+/// Use this method in scenarios where an accessory has multiple wireless interfaces. For example, when an accessory has both Bluetooth and Wi-Fi, and your descriptor may only provides an SSID prefix. In this case, the Bluetooth interface onboards first and your app needs to then finish authorization with the full SSID.
- (void) finishAuthorization:(ASAccessory *) accessory
settings:(ASAccessorySettings *) settings
completionHandler:(void(^)(NSError * _Nullable error)) completionHandler
NS_SWIFT_NAME(finishAuthorization(for:settings:completionHandler:));
-/// Fail accessory setup awaiting authorization.
+/// End authorization of a partially-configured accessory as a failure.
- (void) failAuthorization:(ASAccessory *) accessory
completionHandler:(void(^)(NSError * _Nullable error)) completionHandler
NS_SWIFT_NAME(failAuthorization(for:completionHandler:));
-/// Remove accessory.
+/// Removes an accessory.
+///
+/// - Parameters:
+/// - accessory: The accessory to remove.
+/// - completionHandler: A block or closure that executes after the remove operation completes. The completion handler receives an <doc://com.apple.documentation/documentation/Foundation/NSError> instance if the remove operation encounters an error.
- (void) removeAccessory:(ASAccessory *) accessory
completionHandler:(void(^)(NSError * _Nullable error)) completionHandler
NS_SWIFT_NAME(removeAccessory(_:completionHandler:));
-/// Rename accessory.
+/// Displays a view to rename an accessory.
+///
+/// To rename a Wi-Fi SSID with this method, use the option ``ASAccessory/RenameOptions/ssid``.
+///
+/// - Parameters:
+/// - accessory: The accessory to rename.
+/// - renameOptions: Options that affect the behavior of the rename operation.
+/// - completionHandler: A block or closure that executes after the rename operation completes. The completion handler receives an <doc://com.apple.documentation/documentation/Foundation/NSError> instance if the rename operation encounters an error.
- (void) renameAccessory:(ASAccessory *) accessory
options:(ASAccessoryRenameOptions) renameOptions
completionHandler:(void(^)(NSError * _Nullable error)) completionHandler
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySettings.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySettings.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySettings.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASAccessorySettings.h 2024-09-17 18:27:09
@@ -17,23 +17,15 @@
NS_SWIFT_SENDABLE
@interface ASAccessorySettings : NSObject
-/*!
- @property defaultSettings
- @abstract Empty settings object.
-*/
+/// An empty settings object.
@property (class, readonly, nonatomic) ASAccessorySettings *defaultSettings;
-/*!
- @property SSID
- @abstract Hotspot identifier which clients can use to connect to accessory's hotspot.
-*/
+/// A hotspot identifier that clients can use to connect to an accessory's hotspot.
@property (readwrite, copy, nullable, nonatomic) NSString *SSID;
-/*!
- @property bluetoothTransportBridgingIdentifier
- @abstract 6-byte Identifier for bridging classic transport profiles. This property is ignored if accessory is already authorized and bridged from another app.
-
-*/
+/// A 6-byte identifier for bridging classic transport profiles.
+///
+/// AccessorySetupKit ignores this property if another app already authorized and bridged the accessory.
@property (readwrite, copy, nullable, nonatomic) NSData *bluetoothTransportBridgingIdentifier;
@end
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASDiscoveryDescriptor.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASDiscoveryDescriptor.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASDiscoveryDescriptor.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASDiscoveryDescriptor.h 2024-09-17 18:27:08
@@ -20,7 +20,11 @@
*/
typedef NS_ENUM( NSInteger, ASDiscoveryDescriptorRange )
{
+ /// The default range in which to discover accessories.
ASDiscoveryDescriptorRangeDefault = 0,
+ /// A range in the immediate vicinity of the device performing accessory discovery.
+ ///
+ /// This range means that an accessory is right next to the device running your app.
ASDiscoveryDescriptorRangeImmediate = 10,
} NS_SWIFT_NAME(ASDiscoveryDescriptor.Range);
@@ -29,69 +33,37 @@
NS_SWIFT_SENDABLE
@interface ASDiscoveryDescriptor : NSObject
-/*!
- * @property supportedOptions
- * @discussion Accessory capabilities.
- */
+/// Options supported by an accessory.
@property (readwrite, assign, nonatomic) ASAccessorySupportOptions supportedOptions;
-/*!
- * @property companyIdentifier
- * @discussion Accessory's Bluetooth 16-bit Company Identifier.
- */
+/// The accessory's 16-bit Bluetooth Company Identifier.
@property (readwrite, assign, nonatomic) ASBluetoothCompanyIdentifier bluetoothCompanyIdentifier;
-/*!
- * @property manufacturerDataBlob
- * @discussion Accessory's Bluetooth Manufacturer Data Blob.
- */
+/// A byte buffer that matches the accessory's Bluetooth manufacturer data.
@property (readwrite, copy, nullable, nonatomic) NSData *bluetoothManufacturerDataBlob;
-/*!
- * @property manufacturerDataBlobMask
- * @discussion Accessory's Bluetooth Manufacturer Data Mask.
- */
+/// The accessory's Bluetooth manufacturer data mask.
@property (readwrite, copy, nullable, nonatomic) NSData *bluetoothManufacturerDataMask;
-/*!
- * @property bluetoothNameSubstring
- * @discussion Accessory's over-the-air Bluetooth name sub-string.
- */
+/// The accessory's over-the-air Bluetooth name substring.
@property (readwrite, copy, nullable, nonatomic) NSString *bluetoothNameSubstring;
-/*!
- * @property bluetoothRange
- * @discussion Discover accessory within specific bluetooth range.
- */
+/// A property that tells the session to discover accessories within a specific Bluetooth range.
@property (readwrite, assign, nonatomic) ASDiscoveryDescriptorRange bluetoothRange;
-/*!
- * @property serviceDataBlob
- * @discussion Accessory's Bluetooth Service Data Blob.
- */
+/// A byte buffer that matches the accessory's Bluetooth service data.
@property (readwrite, copy, nullable, nonatomic) NSData *bluetoothServiceDataBlob;
-/*!
- * @property serviceDataBlobMask
- * @discussion Accessory's Bluetooth Service Data Mask.
- */
+/// The accessory's Bluetooth service data mask.
@property (readwrite, copy, nullable, nonatomic) NSData *bluetoothServiceDataMask;
-/*!
- * @property serviceUUID
- * @discussion Accessory's Bluetooth Service UUID.
- */
+/// The accessory's Bluetooth service UUID.
@property (readwrite, copy, nullable, nonatomic) CBUUID *bluetoothServiceUUID;
-/*!
- * @property SSID
- * @discussion SSID of the Wi-Fi Network.
- */
+
+/// The SSID of the accessory's Wi-Fi network.
@property (readwrite, copy, nullable, nonatomic) NSString *SSID;
-/*!
- * @property SSIDPrefix
- * @discussion Prefix string of SSID of the Wi-Fi Network.
- */
+/// The prefix string of SSID of the accessory's Wi-Fi network.
@property (readwrite, copy, nullable, nonatomic) NSString *SSIDPrefix;
@end
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASErrors.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASErrors.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASErrors.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASErrors.h 2024-09-17 18:27:08
@@ -18,17 +18,29 @@
/// Error codes used with ASErrorDomain.
typedef NS_ERROR_ENUM( ASErrorDomain, ASErrorCode )
{
+ /// A code that represents a successful action.
ASErrorCodeSuccess = 0, // Success.
+ /// An underlying failure with an unknown cause.
ASErrorCodeUnknown = 1, // Underlying failure with an unknown cause.
+ /// Session activation failed.
ASErrorCodeActivationFailed = 100, // Unable to activate discovery session.
+ /// The session was unable to establish a connection.
ASErrorCodeConnectionFailed = 150, // Unable to establish connection with accessory.
+ /// Accessory discovery timed out.
ASErrorCodeDiscoveryTimeout = 200, // Discovery timed out.
+ /// The framework couldn't find the app extension.
ASErrorCodeExtensionNotFound = 300, // Unable to find App Extension.
+ /// The session invalidated prior to completing the operation.
ASErrorCodeInvalidated = 400, // Invalidate was called before the operation completed normally.
+ /// The session received an invalid request.
ASErrorCodeInvalidRequest = 450, // Invalid request.
+ /// The picker received a show request when it was already active.
ASErrorCodePickerAlreadyActive = 500, // Picker already active.
+ /// The picker can't be used because the app is in the background.
ASErrorCodePickerRestricted = 550, // Picker restricted due to application in background.
+ /// The person using the app canceled the operation.
ASErrorCodeUserCancelled = 700, // User cancelled.
+ /// The person using the app restricted access.
ASErrorCodeUserRestricted = 750, // Access restricted by user.
} API_AVAILABLE( ios( 18.0 ) ) API_UNAVAILABLE(macos, macCatalyst, watchos, tvos, visionos);
diff -ruN /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASPickerDisplayItem.h /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASPickerDisplayItem.h
--- /Applications/Xcode_16.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASPickerDisplayItem.h 2024-09-02 23:56:51
+++ /Applications/Xcode_16.1.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessorySetupKit.framework/Headers/ASPickerDisplayItem.h 2024-09-17 18:27:09
@@ -20,8 +20,13 @@
*/
typedef NS_OPTIONS( NSUInteger, ASPickerDisplayItemSetupOptions )
{
+ /// An option to ask the person using the app to rename the accessory.
ASPickerDisplayItemSetupRename = ( 1U << 0 ), // Ask user to rename accessory.
+ /// An option to require the app to finish accessory authorization before showing the setup view.
+ ///
+ /// If the accessory supports ``ASAccessory/SupportOptions/bluetoothPairingLE``, then the app needs to start pairing by accessing a protected GATT characteristic.
ASPickerDisplayItemSetupConfirmAuthorization = ( 1U << 1 ), // App session finishes accessory authorization.
+ /// An option to ask the person setting up the accessory to finish additional setup in the app after the accessory is authorized.
ASPickerDisplayItemSetupFinishInApp = ( 1U << 2 ), // Display instruction to finish setup in app after accessory is authorized to use.
} NS_SWIFT_NAME(ASPickerDisplayItem.SetupOptions);
@@ -30,23 +35,30 @@
NS_SWIFT_SENDABLE
@interface ASPickerDisplayItem : NSObject
-/// NOTE:- `name` and `productImage` is ignored if display item matched with an already authorized accessory for another app
+/// >Note: The picker ignores `name` and `productImage` if the displayed item matched with an already authorized accessory for another app.
-/// Accessory's display name on picker as title.
+/// The accessory name to display in the picker.
@property (readonly, copy, nonatomic) NSString *name;
-/// Accessory's product image.
+/// An image of the accessory to display in the picker.
@property (readonly, copy, nonatomic) UIImage *productImage;
-/// Accessory discovery parameters.
+/// A descriptor that the picker uses to determine which discovered accessories to display.
@property (readonly, copy, nonatomic) ASDiscoveryDescriptor *descriptor;
-/// Accessory rename option. `allowsRename` needs to be allowed to update options.
+/// Options to allow renaming a matched accessory.
+///
+/// To permit renaming, include ``SetupOptions-swift.struct/rename`` in the ``setupOptions-c.property``
@property (readwrite, assign, nonatomic) ASAccessoryRenameOptions renameOptions;
-/// Accessory custom setup options.
+/// Custom setup options for the accessory.
@property (readwrite, assign, nonatomic) ASPickerDisplayItemSetupOptions setupOptions;
+/// Creates a picker display item with a name and image to display and a descriptor to match discovered accessories.
+/// - Parameters:
+/// - name: The accessory name to display in the picker.
+/// - productImage: An image of the accessory to display in the picker.
+/// - descriptor: A descriptor that the picker uses to determine which discovered accessories to display.
- (instancetype)initWithName:(NSString *) name productImage:(UIImage *) productImage
descriptor:(ASDiscoveryDescriptor *) descriptor NS_DESIGNATED_INITIALIZER;
@@ -63,8 +75,10 @@
NS_SWIFT_SENDABLE
@interface ASMigrationDisplayItem : ASPickerDisplayItem
+/// The Bluetooth identifier of the accessory to migrate.
@property (readwrite, copy, nullable, nonatomic) NSUUID *peripheralIdentifier;
+/// The Wi-Fi hotspot SSID of the accessory to migrate.
@property (readwrite, copy, nullable, nonatomic) NSString *hotspotSSID;
@end