Skip to content

Commit 3260785

Browse files
bzbarsky-applepull[bot]
authored andcommitted
Update Darwin availability annotations. (#27642)
* Update to the Fan Control renames from #27434. * Put in the correct Darwin versions for fall release in availability.yaml. * Move anything that is not 100% known to be stable right now to provisional for Darwin fall release in availability.yaml. * Add backwards-compat shim for MTRFanControlWindSettingMask. * Turn off darwin-framework-tool tests that would use the now-not-existing APIs. * Fix availability annotations for initWithResponseValue for command response payloads. * Replace non-generated MTR_NEWLY_* annotations with appropriate API_AVAILABLE and MTR_DEPRECATED.
1 parent 23b4994 commit 3260785

35 files changed

+87472
-183006
lines changed

examples/darwin-framework-tool/templates/tests/ciTests.json

+45-1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,50 @@
6565
"Test_TC_WTREMON_2_1",
6666
"Disabled due to using provisional Zeolite Filter Monitoring (ZeoliteFilterMonitoring) cluster:",
6767
"Test_TC_ZEOFREMON_1_1",
68-
"Test_TC_ZEOFREMON_2_1"
68+
"Test_TC_ZEOFREMON_2_1",
69+
"Disabled due to AirQuality not being enabled in Matter.framework for now:",
70+
"Test_TC_AIRQUAL_1_1",
71+
"Test_TC_AIRQUAL_2_1",
72+
"Disabled due to CarbonDioxideConcentrationMeasurement not being enabled in Matter.framework for now:",
73+
"Test_TC_CDOCONC_1_1",
74+
"Test_TC_CDOCONC_2_1",
75+
"Disabled due to CarbonMonoxideConcentrationMeasurement not being enabled in Matter.framework for now:",
76+
"Test_TC_CMOCONC_1_1",
77+
"Test_TC_CMOCONC_2_1",
78+
"Disabled due to FormaldehydeConcentrationMeasurement not being enabled in Matter.framework for now:",
79+
"Test_TC_FLDCONC_1_1",
80+
"Test_TC_FLDCONC_2_1",
81+
"Disabled due to NitrogenDioxideConcentrationMeasurement not being enabled in Matter.framework for now:",
82+
"Test_TC_NDOCONC_1_1",
83+
"Test_TC_NDOCONC_2_1",
84+
"Disabled due to OzoneConcentrationMeasurement not being enabled in Matter.framework for now:",
85+
"Test_TC_OZCONC_1_1",
86+
"Test_TC_OZCONC_2_1",
87+
"Disabled due to PM1ConcentrationMeasurement not being enabled in Matter.framework for now:",
88+
"Test_TC_PMHCONC_1_1",
89+
"Test_TC_PMHCONC_2_1",
90+
"Disabled due to PM2.5ConcentrationMeasurement not being enabled in Matter.framework for now:",
91+
"Test_TC_PMICONC_1_1",
92+
"Test_TC_PMICONC_2_1",
93+
"Disabled due to PM10ConcentrationMeasurement not being enabled in Matter.framework for now:",
94+
"Test_TC_PMKCONC_1_1",
95+
"Test_TC_PMKCONC_2_1",
96+
"Disabled due to RadonConcentrationMeasurement not being enabled in Matter.framework for now:",
97+
"Test_TC_RNCONC_1_1",
98+
"Test_TC_RNCONC_2_1",
99+
"Disabled due to TotalVolatileOrganicCompoundsConcentrationMeasurement not being enabled in Matter.framework for now:",
100+
"Test_TC_TVOCCONC_1_1",
101+
"Test_TC_TVOCCONC_2_1",
102+
"Disabled due to FanControl AirFlowDirection attribute not being enabled in Matter.framework for now:",
103+
"Test_TC_FAN_2_5",
104+
"Disabled due to DoorLock UnboltDoor command not being enabled in Matter.framework for now:",
105+
"Test_TC_DRLK_2_12",
106+
"DL_LockUnlock",
107+
"Disabled due to ActivatedCarbonFilterMonitoring not being enabled in Matter.framework for now:",
108+
"Test_TC_ACFREMON_1_1",
109+
"Test_TC_ACFREMON_2_1",
110+
"Disabled due to HEPAFilterMonitoring not being enabled in Matter.framework for now:",
111+
"Test_TC_HEPAFREMON_1_1",
112+
"Test_TC_HEPAFREMON_2_1"
69113
]
70114
}

examples/darwin-framework-tool/templates/tests/partials/test_cluster.zapt

+12-1
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,15 @@ class {{filename}}: public TestCommandBridge
5858
return;
5959
}
6060
{{/if}}
61+
{{! EventList marked provisional for now }}
62+
{{#if (and isReadAttribute
63+
(isStrEqual (asUpperCamelCase (or attribute "") preserveAcronyms=true) "EventList"))}}
64+
NextTest();
65+
return;
66+
{{else}}
6167
err = Test{{asUpperCamelCase label}}_{{index}}();
6268
break;
69+
{{/if}}
6370
{{/chip_tests_items}}
6471
}
6572

@@ -105,6 +112,9 @@ class {{filename}}: public TestCommandBridge
105112
{{/chip_tests_config}}
106113

107114
{{#chip_tests_items}}
115+
{{! EventList marked provisional for now }}
116+
{{#unless (and isReadAttribute
117+
(isStrEqual (asUpperCamelCase (or attribute "") preserveAcronyms=true) "EventList"))}}
108118
{{#if async}}
109119
bool testSendCluster{{parent.filename}}_{{index}}_{{asUpperCamelCase command}}_Fulfilled = false;
110120
{{/if}}
@@ -257,7 +267,8 @@ class {{filename}}: public TestCommandBridge
257267
return CHIP_NO_ERROR;
258268
{{/if}}
259269
}
260-
{{/chip_tests_items}}
270+
{{/unless}}
271+
{{/chip_tests_items}}
261272

262273
};
263274

src/darwin/Framework/CHIP/MTRBackwardsCompatShims.h

+18-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#import <Foundation/Foundation.h>
1818

1919
#import <Matter/MTRCommandPayloadsObjc.h>
20+
#import <Matter/MTRDefines.h>
2021
#import <Matter/MTRStructsObjc.h>
2122

2223
/**
@@ -30,9 +31,24 @@ NS_ASSUME_NONNULL_BEGIN
3031
/**
3132
* This command used to incorrectly have a groupKeySetIDs field.
3233
*/
33-
@property (nonatomic, copy) NSArray * groupKeySetIDs API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
34-
MTR_NEWLY_DEPRECATED("This field has been removed");
34+
@property (nonatomic, copy) NSArray * groupKeySetIDs MTR_DEPRECATED(
35+
"This field has been removed", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0));
3536

3637
@end
3738

39+
/**
40+
* FanControl used to have WindSettingMask and WindSupportMask that had
41+
* identical values. Those got replaced with a single WindBitmap. We codegen
42+
* WindSupportMask as an alias of WindBitmap, but we need a manual shim for
43+
* WindSettingMask.
44+
*/
45+
typedef NS_OPTIONS(uint8_t, MTRFanControlWindSettingMask) {
46+
MTRFanControlWindSettingMaskSleepWind MTR_DEPRECATED(
47+
"Please use MTRFanControlWindBitmapSleepWind", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0))
48+
= 0x1,
49+
MTRFanControlWindSettingMaskNaturalWind MTR_DEPRECATED(
50+
"Please use MTRFanControlWindBitmapNaturalWind", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0))
51+
= 0x2,
52+
} MTR_DEPRECATED("Please use MTRFanControlWindBitmap", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0));
53+
3854
NS_ASSUME_NONNULL_END

src/darwin/Framework/CHIP/MTRBaseDevice.h

+24-15
Original file line numberDiff line numberDiff line change
@@ -154,31 +154,36 @@ typedef NS_ENUM(uint8_t, MTRTransportType) {
154154
*
155155
* nil is used to represent wildcards.
156156
*/
157-
MTR_NEWLY_AVAILABLE
157+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
158158
@interface MTRAttributeRequestPath : NSObject <NSCopying>
159-
@property (nonatomic, readonly, copy, nullable) NSNumber * endpoint;
160-
@property (nonatomic, readonly, copy, nullable) NSNumber * cluster;
161-
@property (nonatomic, readonly, copy, nullable) NSNumber * attribute;
159+
@property (nonatomic, readonly, copy, nullable) NSNumber * endpoint API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
160+
;
161+
@property (nonatomic, readonly, copy, nullable) NSNumber * cluster API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
162+
@property (nonatomic, readonly, copy, nullable)
163+
NSNumber * attribute API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
162164

163165
+ (MTRAttributeRequestPath *)requestPathWithEndpointID:(NSNumber * _Nullable)endpointID
164166
clusterID:(NSNumber * _Nullable)clusterID
165-
attributeID:(NSNumber * _Nullable)attributeID MTR_NEWLY_AVAILABLE;
167+
attributeID:(NSNumber * _Nullable)attributeID
168+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
166169
@end
167170

168171
/**
169172
* A path indicating an event being requested (for read or subscribe).
170173
*
171174
* nil is used to represent wildcards.
172175
*/
173-
MTR_NEWLY_AVAILABLE
176+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
174177
@interface MTREventRequestPath : NSObject <NSCopying>
175-
@property (nonatomic, readonly, copy, nullable) NSNumber * endpoint;
176-
@property (nonatomic, readonly, copy, nullable) NSNumber * cluster;
177-
@property (nonatomic, readonly, copy, nullable) NSNumber * event;
178+
@property (nonatomic, readonly, copy, nullable) NSNumber * endpoint API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
179+
;
180+
@property (nonatomic, readonly, copy, nullable) NSNumber * cluster API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
181+
@property (nonatomic, readonly, copy, nullable) NSNumber * event API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
178182

179183
+ (MTREventRequestPath *)requestPathWithEndpointID:(NSNumber * _Nullable)endpointID
180184
clusterID:(NSNumber * _Nullable)clusterID
181-
eventID:(NSNumber * _Nullable)eventID MTR_NEWLY_AVAILABLE;
185+
eventID:(NSNumber * _Nullable)eventID
186+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
182187
@end
183188

184189
@interface MTRBaseDevice : NSObject
@@ -299,7 +304,7 @@ MTR_NEWLY_AVAILABLE
299304
eventPaths:(NSArray<MTREventRequestPath *> * _Nullable)eventPaths
300305
params:(MTRReadParams * _Nullable)params
301306
queue:(dispatch_queue_t)queue
302-
completion:(MTRDeviceResponseHandler)completion MTR_NEWLY_AVAILABLE;
307+
completion:(MTRDeviceResponseHandler)completion API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
303308

304309
/**
305310
* Write to attribute in a designated attribute path
@@ -418,7 +423,8 @@ MTR_NEWLY_AVAILABLE
418423
queue:(dispatch_queue_t)queue
419424
reportHandler:(MTRDeviceResponseHandler)reportHandler
420425
subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
421-
resubscriptionScheduled:(MTRDeviceResubscriptionScheduledHandler _Nullable)resubscriptionScheduled MTR_NEWLY_AVAILABLE;
426+
resubscriptionScheduled:(MTRDeviceResubscriptionScheduledHandler _Nullable)resubscriptionScheduled
427+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
422428

423429
/**
424430
* Deregister all local report handlers for a remote device
@@ -466,7 +472,8 @@ MTR_NEWLY_AVAILABLE
466472
- (void)openCommissioningWindowWithDiscriminator:(NSNumber *)discriminator
467473
duration:(NSNumber *)duration
468474
queue:(dispatch_queue_t)queue
469-
completion:(MTRDeviceOpenCommissioningWindowHandler)completion MTR_NEWLY_AVAILABLE;
475+
completion:(MTRDeviceOpenCommissioningWindowHandler)completion
476+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
470477

471478
/**
472479
* Reads events from the device.
@@ -633,7 +640,8 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
633640
* * The data does not match the known schema.
634641
*/
635642
- (nullable instancetype)initWithResponseValue:(NSDictionary<NSString *, id> *)responseValue
636-
error:(NSError * __autoreleasing *)error MTR_NEWLY_AVAILABLE;
643+
error:(NSError * __autoreleasing *)error
644+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
637645

638646
@end
639647

@@ -706,7 +714,8 @@ typedef NS_ENUM(NSUInteger, MTREventPriority) {
706714
* * The data does not match the known schema.
707715
*/
708716
- (nullable instancetype)initWithResponseValue:(NSDictionary<NSString *, id> *)responseValue
709-
error:(NSError * __autoreleasing *)error MTR_NEWLY_AVAILABLE;
717+
error:(NSError * __autoreleasing *)error
718+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
710719

711720
@end
712721

src/darwin/Framework/CHIP/MTRCSRInfo.h

+7-4
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
6262
csrNonce:(NSData *)csrNonce
6363
csrElementsTLV:(MTRTLVBytes)csrElementsTLV
6464
attestationSignature:(NSData *)attestationSignature
65-
MTR_NEWLY_DEPRECATED("Please use one of the initializers that validates the input");
65+
MTR_DEPRECATED("Please use one of the initializers that validates the input", ios(16.4, 17.0), macos(13.3, 14.0),
66+
watchos(9.4, 10.0), tvos(16.4, 17.0));
6667

6768
/**
6869
* Initialize an MTROperationalCSRInfo by providing the csrNonce (for example,
@@ -73,7 +74,8 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
7374
*/
7475
- (nullable instancetype)initWithCSRNonce:(NSData *)csrNonce
7576
csrElementsTLV:(MTRTLVBytes)csrElementsTLV
76-
attestationSignature:(NSData *)attestationSignature MTR_NEWLY_AVAILABLE;
77+
attestationSignature:(NSData *)attestationSignature
78+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
7779

7880
/**
7981
* Initialize an MTROperationalCSRInfo by providing just the csrElementsTLV and
@@ -83,15 +85,16 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
8385
* fails.
8486
*/
8587
- (nullable instancetype)initWithCSRElementsTLV:(MTRTLVBytes)csrElementsTLV
86-
attestationSignature:(NSData *)attestationSignature MTR_NEWLY_AVAILABLE;
88+
attestationSignature:(NSData *)attestationSignature
89+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
8790

8891
/**
8992
* Initialize an MTROperationalCSRInfo by providing an
9093
* MTROperationalCredentialsClusterCSRResponseParams. This will extract the
9194
* relevant fields from the response data.
9295
*/
9396
- (nullable instancetype)initWithCSRResponseParams:(MTROperationalCredentialsClusterCSRResponseParams *)responseParams
94-
MTR_NEWLY_AVAILABLE;
97+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
9598
@end
9699

97100
MTR_DEPRECATED("Please use MTROperationalCSRInfo", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4))

src/darwin/Framework/CHIP/MTRCommissionableBrowserDelegate.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
NS_ASSUME_NONNULL_BEGIN
2424

25-
MTR_NEWLY_AVAILABLE
25+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
2626
@protocol MTRCommissionableBrowserDelegate <NSObject>
2727
/**
2828
* Tells the delegate the commissionable manager discovered a device while scanning for devices.

src/darwin/Framework/CHIP/MTRCommissionableBrowserResult.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
NS_ASSUME_NONNULL_BEGIN
2121

22-
MTR_NEWLY_AVAILABLE
22+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
2323
@interface MTRCommissionableBrowserResult : NSObject
2424

2525
/**

src/darwin/Framework/CHIP/MTRCommissioningParameters.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,15 @@ NS_ASSUME_NONNULL_BEGIN
8686
*
8787
* Defaults to NO.
8888
*/
89-
@property (nonatomic, assign) BOOL skipCommissioningComplete MTR_NEWLY_AVAILABLE;
89+
@property (nonatomic, assign) BOOL skipCommissioningComplete API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
9090

9191
/**
9292
* The country code to provide to the device during commissioning.
9393
*
9494
* If not nil, this must be a 2-character ISO 3166-1 country code, which the
9595
* device can use to decide on things like radio communications bands.
9696
*/
97-
@property (nonatomic, copy, nullable) NSString * countryCode MTR_NEWLY_AVAILABLE;
97+
@property (nonatomic, copy, nullable) NSString * countryCode API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
9898

9999
@end
100100

src/darwin/Framework/CHIP/MTRDevice.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#import <Foundation/Foundation.h>
1919
#import <Matter/MTRBaseDevice.h>
20+
#import <Matter/MTRDefines.h>
2021

2122
NS_ASSUME_NONNULL_BEGIN
2223

@@ -198,7 +199,8 @@ typedef NS_ENUM(NSUInteger, MTRDeviceState) {
198199
- (void)openCommissioningWindowWithDiscriminator:(NSNumber *)discriminator
199200
duration:(NSNumber *)duration
200201
queue:(dispatch_queue_t)queue
201-
completion:(MTRDeviceOpenCommissioningWindowHandler)completion MTR_NEWLY_AVAILABLE;
202+
completion:(MTRDeviceOpenCommissioningWindowHandler)completion
203+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
202204

203205
@end
204206

src/darwin/Framework/CHIP/MTRDeviceController.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#import <Foundation/Foundation.h>
1919

2020
#import <Matter/MTRCommissionableBrowserDelegate.h>
21+
#import <Matter/MTRDefines.h>
2122
#import <Matter/MTROperationalCertificateIssuer.h>
2223

2324
@class MTRBaseDevice;
@@ -117,7 +118,8 @@ typedef void (^MTRDeviceConnectionCallback)(MTRBaseDevice * _Nullable device, NS
117118
- (BOOL)setupCommissioningSessionWithDiscoveredDevice:(MTRCommissionableBrowserResult *)discoveredDevice
118119
payload:(MTRSetupPayload *)payload
119120
newNodeID:(NSNumber *)newNodeID
120-
error:(NSError * __autoreleasing *)error MTR_NEWLY_AVAILABLE;
121+
error:(NSError * __autoreleasing *)error
122+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
121123

122124
/**
123125
* Commission the node with the given node ID. The node ID must match the node
@@ -180,14 +182,14 @@ typedef void (^MTRDeviceConnectionCallback)(MTRBaseDevice * _Nullable device, NS
180182
* This method will fail if the controller factory is not running or the browse has already been started.
181183
*/
182184
- (BOOL)startBrowseForCommissionables:(id<MTRCommissionableBrowserDelegate>)delegate
183-
queue:(dispatch_queue_t)queue MTR_NEWLY_AVAILABLE;
185+
queue:(dispatch_queue_t)queue API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
184186

185187
/**
186188
* Stop scanning for commissionable devices.
187189
*
188190
* This method will fail if the controller factory is not running or the browse has not been started.
189191
*/
190-
- (BOOL)stopBrowseForCommissionables MTR_NEWLY_AVAILABLE;
192+
- (BOOL)stopBrowseForCommissionables API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
191193

192194
/**
193195
* Return the attestation challenge for the secure session of the device being commissioned.

src/darwin/Framework/CHIP/MTRDeviceControllerDelegate.h

+8-4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18+
#import <Foundation/Foundation.h>
1819
#import <Matter/MTRDefines.h>
1920

2021
NS_ASSUME_NONNULL_BEGIN
@@ -31,7 +32,7 @@ typedef NS_ENUM(NSInteger, MTRCommissioningStatus) {
3132
/**
3233
* A representation of a (vendor, product) pair that identifies a specific product.
3334
*/
34-
MTR_NEWLY_AVAILABLE
35+
API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
3536
@interface MTRProductIdentity : NSObject
3637

3738
@property (nonatomic, copy, readonly) NSNumber * vendorID;
@@ -66,7 +67,9 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
6667
* Notify the delegate when commissioning is completed.
6768
*/
6869
- (void)controller:(MTRDeviceController *)controller
69-
commissioningComplete:(NSError * _Nullable)error MTR_NEWLY_DEPRECATED("Please use controller:commissioningComplete:nodeID:");
70+
commissioningComplete:(NSError * _Nullable)error
71+
MTR_DEPRECATED("Please use controller:commissioningComplete:nodeID:", ios(16.4, 17.0), macos(13.3, 14.0), watchos(9.4, 10.0),
72+
tvos(16.4, 17.0));
7073

7174
/**
7275
* Notify the delegate when commissioning is completed.
@@ -77,7 +80,7 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
7780
*/
7881
- (void)controller:(MTRDeviceController *)controller
7982
commissioningComplete:(NSError * _Nullable)error
80-
nodeID:(NSNumber * _Nullable)nodeID MTR_NEWLY_AVAILABLE;
83+
nodeID:(NSNumber * _Nullable)nodeID API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
8184

8285
/**
8386
* Notify the delegate when commissioning infomation has been read from the Basic
@@ -86,7 +89,8 @@ API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
8689
* At the point when this notification happens, device attestation has not been performed yet,
8790
* so the information delivered by this notification should not be trusted.
8891
*/
89-
- (void)controller:(MTRDeviceController *)controller readCommissioningInfo:(MTRProductIdentity *)info MTR_NEWLY_AVAILABLE;
92+
- (void)controller:(MTRDeviceController *)controller
93+
readCommissioningInfo:(MTRProductIdentity *)info API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
9094
@end
9195

9296
typedef NS_ENUM(NSUInteger, MTRPairingStatus) {

0 commit comments

Comments
 (0)