Skip to content

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
Clone this wiki locally