-
Notifications
You must be signed in to change notification settings - Fork 549
Matter macOS xcode26.1 b2
Rolf Bjarne Kvinge edited this page Oct 7, 2025
·
2 revisions
#Matter.framework
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h 2025-09-08 04:47:38
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h 2025-09-26 18:01:29
@@ -14999,7 +14999,7 @@
/**
* Command MPTZSetPosition
*
- * This command SHALL set the values for the pan, tilt, and zoom in the mechanical PTZ.
+ * This command SHALL move the camera to the provided values for pan, tilt, and zoom in the mechanical PTZ.
*/
- (void)MPTZSetPositionWithParams:(MTRCameraAVSettingsUserLevelManagementClusterMPTZSetPositionParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
- (void)MPTZSetPositionWithCompletion:(MTRStatusCompletion)completion
@@ -15097,6 +15097,12 @@
reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE;
+ (void)readAttributePanMaxWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)readAttributeMovementStateWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)subscribeAttributeMovementStateWithParams:(MTRSubscribeParams *)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE;
++ (void)readAttributeMovementStateWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+
- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params
subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
@@ -16217,7 +16223,7 @@
/**
* Command FindRootCertificate
*
- * This command SHALL return the specified TLS root certificate, or all TLS provisioned root certificates, based on the contents of the CAID field.
+ * This command SHALL return the specified TLS root certificate, or all provisioned TLS root certificates for the accessing fabric, based on the contents of the CAID field.
*/
- (void)findRootCertificateWithParams:(MTRTLSCertificateManagementClusterFindRootCertificateParams *)params completion:(void (^)(MTRTLSCertificateManagementClusterFindRootCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
/**
@@ -16233,11 +16239,11 @@
*/
- (void)removeRootCertificateWithParams:(MTRTLSCertificateManagementClusterRemoveRootCertificateParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
/**
- * Command TLSClientCSR
+ * Command ClientCSR
*
- * This command SHALL be generated to request the Node generates a Certificate Signing Request.
+ * This command SHALL be generated to request the Node generates a certificate signing request for a new TLS key pair or use an existing CCDID for certificate rotation.
*/
-- (void)TLSClientCSRWithParams:(MTRTLSCertificateManagementClusterTLSClientCSRParams *)params completion:(void (^)(MTRTLSCertificateManagementClusterTLSClientCSRResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)clientCSRWithParams:(MTRTLSCertificateManagementClusterClientCSRParams *)params completion:(void (^)(MTRTLSCertificateManagementClusterClientCSRResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
/**
* Command ProvisionClientCertificate
*
@@ -16247,7 +16253,7 @@
/**
* Command FindClientCertificate
*
- * This command SHALL return the TLSClientCertificateDetailStruct for the passed in CCDID, or all TLS client certificates, based on the contents of the CCDID field.
+ * This command SHALL return the TLSClientCertificateDetailStruct for the passed in CCDID, or all TLS client certificates for the accessing fabric, based on the contents of the CCDID field.
*/
- (void)findClientCertificateWithParams:(MTRTLSCertificateManagementClusterFindClientCertificateParams *)params completion:(void (^)(MTRTLSCertificateManagementClusterFindClientCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
/**
@@ -22041,6 +22047,11 @@
MTRCameraAVStreamManagementFeatureNightVision MTR_PROVISIONALLY_AVAILABLE = 0x400,
} MTR_PROVISIONALLY_AVAILABLE;
+typedef NS_ENUM(uint8_t, MTRCameraAVSettingsUserLevelManagementPhysicalMovement) {
+ MTRCameraAVSettingsUserLevelManagementPhysicalMovementIdle MTR_PROVISIONALLY_AVAILABLE = 0x00,
+ MTRCameraAVSettingsUserLevelManagementPhysicalMovementMoving MTR_PROVISIONALLY_AVAILABLE = 0x01,
+} MTR_PROVISIONALLY_AVAILABLE;
+
typedef NS_OPTIONS(uint32_t, MTRCameraAVSettingsUserLevelManagementFeature) {
MTRCameraAVSettingsUserLevelManagementFeatureDigitalPTZ MTR_PROVISIONALLY_AVAILABLE = 0x1,
MTRCameraAVSettingsUserLevelManagementFeatureMechanicalPan MTR_PROVISIONALLY_AVAILABLE = 0x2,
@@ -22206,11 +22217,6 @@
MTRJointFabricAdministratorTransferAnchorResponseStatusOK MTR_PROVISIONALLY_AVAILABLE = 0x00,
MTRJointFabricAdministratorTransferAnchorResponseStatusTransferAnchorStatusDatastoreBusy MTR_PROVISIONALLY_AVAILABLE = 0x01,
MTRJointFabricAdministratorTransferAnchorResponseStatusTransferAnchorStatusNoUserConsent MTR_PROVISIONALLY_AVAILABLE = 0x02,
-} MTR_PROVISIONALLY_AVAILABLE;
-
-typedef NS_ENUM(uint8_t, MTRTLSCertificateManagementStatusCode) {
- MTRTLSCertificateManagementStatusCodeCertificateAlreadyInstalled MTR_PROVISIONALLY_AVAILABLE = 0x02,
- MTRTLSCertificateManagementStatusCodeDuplicateKey MTR_PROVISIONALLY_AVAILABLE = 0x03,
} MTR_PROVISIONALLY_AVAILABLE;
typedef NS_ENUM(uint8_t, MTRTLSClientManagementStatusCode) {
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h 2025-09-08 04:38:59
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h 2025-09-26 14:21:02
@@ -4770,6 +4770,7 @@
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeTiltMaxID MTR_PROVISIONALLY_AVAILABLE = 0x00000006,
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributePanMinID MTR_PROVISIONALLY_AVAILABLE = 0x00000007,
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributePanMaxID MTR_PROVISIONALLY_AVAILABLE = 0x00000008,
+ MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeMovementStateID MTR_PROVISIONALLY_AVAILABLE = 0x00000009,
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID,
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID,
MTRAttributeIDTypeClusterCameraAVSettingsUserLevelManagementAttributeAttributeListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAttributeListID,
@@ -7246,8 +7247,8 @@
MTRCommandIDTypeClusterTLSCertificateManagementCommandLookupRootCertificateID MTR_PROVISIONALLY_AVAILABLE = 0x00000004,
MTRCommandIDTypeClusterTLSCertificateManagementCommandLookupRootCertificateResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000005,
MTRCommandIDTypeClusterTLSCertificateManagementCommandRemoveRootCertificateID MTR_PROVISIONALLY_AVAILABLE = 0x00000006,
- MTRCommandIDTypeClusterTLSCertificateManagementCommandTLSClientCSRID MTR_PROVISIONALLY_AVAILABLE = 0x00000007,
- MTRCommandIDTypeClusterTLSCertificateManagementCommandTLSClientCSRResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000008,
+ MTRCommandIDTypeClusterTLSCertificateManagementCommandClientCSRID MTR_PROVISIONALLY_AVAILABLE = 0x00000007,
+ MTRCommandIDTypeClusterTLSCertificateManagementCommandClientCSRResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000008,
MTRCommandIDTypeClusterTLSCertificateManagementCommandProvisionClientCertificateID MTR_PROVISIONALLY_AVAILABLE = 0x00000009,
MTRCommandIDTypeClusterTLSCertificateManagementCommandFindClientCertificateID MTR_PROVISIONALLY_AVAILABLE = 0x0000000A,
MTRCommandIDTypeClusterTLSCertificateManagementCommandFindClientCertificateResponseID MTR_PROVISIONALLY_AVAILABLE = 0x0000000B,
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h 2025-09-09 08:26:27
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h 2025-09-29 06:40:18
@@ -7007,6 +7007,8 @@
- (NSDictionary<NSString *, id> * _Nullable)readAttributePanMaxWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
+- (NSDictionary<NSString *, id> * _Nullable)readAttributeMovementStateWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
+
- (NSDictionary<NSString *, id> * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
- (NSDictionary<NSString *, id> * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
@@ -7506,7 +7508,7 @@
- (void)findRootCertificateWithParams:(MTRTLSCertificateManagementClusterFindRootCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterFindRootCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
- (void)lookupRootCertificateWithParams:(MTRTLSCertificateManagementClusterLookupRootCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterLookupRootCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
- (void)removeRootCertificateWithParams:(MTRTLSCertificateManagementClusterRemoveRootCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
-- (void)TLSClientCSRWithParams:(MTRTLSCertificateManagementClusterTLSClientCSRParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterTLSClientCSRResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)clientCSRWithParams:(MTRTLSCertificateManagementClusterClientCSRParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterClientCSRResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
- (void)provisionClientCertificateWithParams:(MTRTLSCertificateManagementClusterProvisionClientCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
- (void)findClientCertificateWithParams:(MTRTLSCertificateManagementClusterFindClientCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterFindClientCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
- (void)lookupClientCertificateWithParams:(MTRTLSCertificateManagementClusterLookupClientCertificateParams *)params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTLSCertificateManagementClusterLookupClientCertificateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h 2025-09-08 04:37:44
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h 2025-09-26 14:21:01
@@ -13946,9 +13946,11 @@
@end
MTR_PROVISIONALLY_AVAILABLE
-@interface MTRTLSCertificateManagementClusterTLSClientCSRParams : NSObject <NSCopying>
+@interface MTRTLSCertificateManagementClusterClientCSRParams : NSObject <NSCopying>
@property (nonatomic, copy) NSData * _Nonnull nonce MTR_PROVISIONALLY_AVAILABLE;
+
+@property (nonatomic, copy) NSNumber * _Nullable ccdid MTR_PROVISIONALLY_AVAILABLE;
/**
* Controls whether the command is a timed command (using Timed Invoke).
*
@@ -13976,16 +13978,16 @@
@end
MTR_PROVISIONALLY_AVAILABLE
-@interface MTRTLSCertificateManagementClusterTLSClientCSRResponseParams : NSObject <NSCopying>
+@interface MTRTLSCertificateManagementClusterClientCSRResponseParams : NSObject <NSCopying>
@property (nonatomic, copy) NSNumber * _Nonnull ccdid MTR_PROVISIONALLY_AVAILABLE;
@property (nonatomic, copy) NSData * _Nonnull csr MTR_PROVISIONALLY_AVAILABLE;
-@property (nonatomic, copy) NSData * _Nonnull nonce MTR_PROVISIONALLY_AVAILABLE;
+@property (nonatomic, copy) NSData * _Nonnull nonceSignature MTR_PROVISIONALLY_AVAILABLE;
/**
- * Initialize an MTRTLSCertificateManagementClusterTLSClientCSRResponseParams with a response-value dictionary
+ * Initialize an MTRTLSCertificateManagementClusterClientCSRResponseParams with a response-value dictionary
* of the sort that MTRDeviceResponseHandler would receive.
*
* Will return nil and hand out an error if the response-value dictionary is not
@@ -14003,7 +14005,9 @@
@property (nonatomic, copy) NSNumber * _Nonnull ccdid MTR_PROVISIONALLY_AVAILABLE;
-@property (nonatomic, copy) MTRTLSCertificateManagementClusterTLSClientCertificateDetailStruct * _Nonnull clientCertificateDetails MTR_PROVISIONALLY_AVAILABLE;
+@property (nonatomic, copy) NSData * _Nonnull clientCertificate MTR_PROVISIONALLY_AVAILABLE;
+
+@property (nonatomic, copy) NSArray * _Nonnull intermediateCertificates MTR_PROVISIONALLY_AVAILABLE;
/**
* Controls whether the command is a timed command (using Timed Invoke).
*
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioneeInfo.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioneeInfo.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioneeInfo.h 2025-09-08 05:14:31
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioneeInfo.h 2025-09-26 20:04:19
@@ -55,7 +55,7 @@
* 1) The attributes in extraAttributesToRead on MTRCommissioningParameters.
* 2) The FeatureMap attributes of all Network Commissioning clusters on the commissionee.
*/
-@property (nonatomic, copy, readonly, nullable) NSDictionary<MTRAttributePath *, NSDictionary<NSString *, id> *> * attributes MTR_UNSTABLE_API;
+@property (nonatomic, copy, readonly, nullable) NSDictionary<MTRAttributePath *, NSDictionary<NSString *, id> *> * attributes MTR_PROVISIONALLY_AVAILABLE;
@end
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningDelegate.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningDelegate.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningDelegate.h 1970-01-01 01:00:00
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningDelegate.h 2025-09-26 20:04:20
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) 2025 Project CHIP Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <Matter/MTRCommissioneeInfo.h>
+#import <Matter/MTRDeviceAttestationDelegate.h> // For MTRDeviceAttestationDeviceInfo
+#import <Matter/MTRMetrics.h>
+#import <Matter/MTRStructsObjc.h>
+
+@class MTRCommissioningOperation;
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, MTRCommissioningStage) {
+ // Possible stages that can be reached during commissioning. The order of
+ // these stages is not guaranteed to be anything in particular, or to match
+ // the numeric order of this enum. There are no guarantees that any
+ // particular stage will in fact be reached, unless documented otherwise.
+
+ // The commissionee has received network credentials. This will never be reached
+ // during on-network commissioning.
+ MTRCommissioningStageProvisionedNetworkCredentials = 1,
+
+ // The commissioning operation is about to ask the commissionee to do a Wi-Fi network scan.
+ MTRCommissioningStageWiFiScanStart = 2,
+
+ // The commissioning operation is about to ask the commissionee to do a Thread network scan.
+ MTRCommissioningStageThreadScanStart = 3,
+} MTR_PROVISIONALLY_AVAILABLE;
+
+MTR_PROVISIONALLY_AVAILABLE
+@protocol MTRCommissioningDelegate <NSObject>
+@optional
+/**
+ * Callback that gets called after various information (product identity,
+ * optionally endpoint structure information, optionally other attributes that
+ * were requested) has been read from the commissionee.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ readCommissioneeInfo:(MTRCommissioneeInfo *)info;
+
+@required
+/**
+ * Notification that device attestation has completed.
+ *
+ * Commissioning will pause, regardless of whether attestation succeeded or
+ * failed, until the completion is invoked (indicating that commissioning should
+ * proceed, even if attestation failed), or commissioning is stopped.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ completedDeviceAttestation:(MTRDeviceAttestationDeviceInfo *)attestationDeviceInfo
+ error:(nullable NSError *)error
+ completion:(dispatch_block_t)completion;
+
+@optional
+/**
+ * Callback that gets called for a commissionee that supports Wi-Fi if
+ * Wi-Fi network commissioning is required and Wi-Fi credentials were not
+ * provided in MTRCommissioningParameters.
+ *
+ * Commissioning will pause, including in cases when the network scan failed,
+ * until the completion is invoked with the network and credentials the
+ * commissionee should use, or until commissioning is stopped. The provided
+ * credentials are allowed to be nil for an open Wi-Fi network.
+ *
+ * * error will be non-nil if a scan was attempted and failed.
+ * * networks will be non-nil if a scan was attempted and succeeded.
+ * * Both error and networks will be nil if no scan was performed.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ needsWiFiNetworkSelectionWithScanResults:(nullable NSArray<MTRNetworkCommissioningClusterWiFiInterfaceScanResultStruct *> *)networks
+ error:(nullable NSError *)error
+ completion:(void (^)(NSData * ssid, NSData * _Nullable credentials))completion;
+
+/**
+ * Callback that gets called for a commissionee that supports Thread if Thread
+ * network commissioning is required and an operational dataset was not provided
+ * in MTRCommissioningParameters.
+ *
+ * Commissioning will pause, including in cases when the network scan failed,
+ * until the completion is invoked with the operational dataset the commissionee
+ * should use, or until commissioning is stopped.
+ *
+ * * error will be non-nil if a scan was attempted and failed.
+ * * networks will be non-nil if a scan was attempted and succeeded.
+ * * Both error and networks will be nil if no scan was performed.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ needsThreadNetworkSelectionWithScanResults:(nullable NSArray<MTRNetworkCommissioningClusterThreadInterfaceScanResultStruct *> *)networks
+ error:(nullable NSError *)error
+ completion:(void (^)(NSData * operationalDataset))completion;
+
+/**
+ * Notification that a particular commissioning stage has been reached.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning reachedCommissioningStage:(MTRCommissioningStage)stage;
+
+/**
+ * Notification that commissioning has failed.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ failedWithError:(NSError *)error
+ metrics:(MTRMetrics *)metrics;
+
+/**
+ * Notification that commissioning has succeeded.
+ */
+- (void)commissioning:(MTRCommissioningOperation *)commissioning
+ succeededForNodeID:(NSNumber *)nodeID
+ metrics:(MTRMetrics *)metrics;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningOperation.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningOperation.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningOperation.h 1970-01-01 01:00:00
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningOperation.h 2025-09-26 20:04:16
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) 2025 Project CHIP Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <Matter/MTRCommissioningDelegate.h>
+#import <Matter/MTRCommissioningParameters.h>
+#import <Matter/MTRDeviceController.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+MTR_PROVISIONALLY_AVAILABLE
+@interface MTRCommissioningOperation : NSObject
+/**
+ * Initialized via initWithParameters:setupPayload:delegate:queue:
+ */
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/**
+ * Prepare to commission a device with the given parameters and the given setup
+ * payload (QR code, manual pairing code, etc). Returns nil if the payload is
+ * not valid.
+ *
+ * The deviceAttestationDelegate property of MTRCommissioningParameters will be
+ * ignored. Device attestation notifications will be delivered to the
+ * MTRCommissioningDelegate instead. The failSafeTimeout property of
+ * MTRCommissioningParameters will be respected.
+ *
+ * The provided delegate will be notified about various things as commissioning
+ * proceeds. The calls into the delegate will happen on the provided queue.
+ *
+ * Modifying the parameters after this call will have no effect on the behavior
+ * of the MTRCommissioningOperation.
+ */
+- (nullable instancetype)initWithParameters:(MTRCommissioningParameters *)parameters
+ setupPayload:(NSString *)payload
+ delegate:(id<MTRCommissioningDelegate>)delegate
+ queue:(dispatch_queue_t)queue;
+
+/**
+ * Start commissioning with the given controller (which identifies the fabric
+ * the commissionee should be commissioned into). The delegate will be notified
+ * if there are any failures.
+ */
+- (void)startWithController:(MTRDeviceController *)controller;
+
+/**
+ * Stop commissioning. This will typically result in
+ * commissioning:failedWithError: callbacks to delegates.
+ *
+ * Returns YES if this commissioning was still in-progress and has now been
+ * stopped; returns NO if this commissioning wasn't in-progress.
+ *
+ * Note that this can return NO while there are still pending async calls to
+ * delegate callbacks for the end of the commissioning.
+ */
+- (BOOL)stop;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningParameters.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningParameters.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningParameters.h 2025-09-09 08:26:28
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommissioningParameters.h 2025-09-26 18:01:30
@@ -122,7 +122,7 @@
* The FeatureMap attribute of all Network Commissioning clusters on the commissionee
* will always be read and does not need to be included in this list.
*/
-@property (nonatomic, copy, nullable) NSArray<MTRAttributeRequestPath *> * extraAttributesToRead MTR_UNSTABLE_API;
+@property (nonatomic, copy, nullable) NSArray<MTRAttributeRequestPath *> * extraAttributesToRead MTR_PROVISIONALLY_AVAILABLE;
@end
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRDeviceControllerStartupParams.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRDeviceControllerStartupParams.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRDeviceControllerStartupParams.h 2025-09-08 04:39:02
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRDeviceControllerStartupParams.h 2025-09-26 14:13:44
@@ -248,7 +248,7 @@
/**
* The certificate issuer delegate to use for issuing operational certificates
- * when commmissioning devices. Allowed to be nil if this controller either
+ * when commissioning devices. Allowed to be nil if this controller either
* does not issue operational certificates at all or internally generates the
* certificates to be issued. In the latter case, nocSigner must not be nil.
*/
diff -ruN /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/Matter.h /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/Matter.h
--- /Applications/Xcode_26.1.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/Matter.h 2025-09-08 05:14:27
+++ /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Matter.framework/Headers/Matter.h 2025-09-26 20:04:15
@@ -38,6 +38,8 @@
#import <Matter/MTRCommissionableBrowserDelegate.h>
#import <Matter/MTRCommissionableBrowserResult.h>
#import <Matter/MTRCommissioneeInfo.h>
+#import <Matter/MTRCommissioningDelegate.h>
+#import <Matter/MTRCommissioningOperation.h>
#import <Matter/MTRCommissioningParameters.h>
#import <Matter/MTRDefines.h>
#import <Matter/MTRDevice.h>