Skip to content

HomeKit watchOS xcode14.3 beta1

Alex Soto edited this page Mar 15, 2023 · 2 revisions

#HomeKit.framework https://github.com/xamarin/xamarin-macios/pull/17810

diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAccessorySetupPayload.h /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAccessorySetupPayload.h
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAccessorySetupPayload.h	2022-10-06 13:23:05
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAccessorySetupPayload.h	2023-02-12 00:14:43
@@ -54,7 +54,7 @@
  *
  * @return Returns an accessory setup payload object if successful or nil on error.
  */
-- (nullable instancetype)initWithURL:(NSURL *)setupPayloadURL ownershipToken:(nullable HMAccessoryOwnershipToken *)ownershipToken API_AVAILABLE(ios(13.0))API_UNAVAILABLE(macos, watchos, tvos)NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithURL:(NSURL *)setupPayloadURL ownershipToken:(nullable HMAccessoryOwnershipToken *)ownershipToken API_AVAILABLE(ios(13.0))API_UNAVAILABLE(macos, watchos, tvos);
 
 @end
 
diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAction.h /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAction.h
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAction.h	2022-10-06 13:23:05
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMAction.h	2023-02-12 00:14:43
@@ -14,6 +14,9 @@
 HM_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), tvos(10.0), macCatalyst(14.0)) API_UNAVAILABLE(macos)
     @interface HMAction : NSObject
 
+- (instancetype)init API_DEPRECATED("HMAction is abstract", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
++ (instancetype)new API_DEPRECATED("HMAction is abstract", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
+
 /*!
  * @brief A unique identifier for the action.
  */
diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicWriteAction.h /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicWriteAction.h
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicWriteAction.h	2022-10-06 13:23:05
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicWriteAction.h	2023-02-12 00:14:44
@@ -21,6 +21,7 @@
     @interface HMCharacteristicWriteAction<TargetValueType : id<NSCopying>> : HMAction
 
 - (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
 
 /*!
  * @brief Initializer method that ties the action to a particular characteristic.
diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMEvent.h /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMEvent.h
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMEvent.h	2022-10-06 13:23:05
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMEvent.h	2023-02-12 00:14:43
@@ -18,6 +18,9 @@
 HM_EXTERN API_AVAILABLE(ios(9.0), watchos(2.0), tvos(10.0), macCatalyst(14.0)) API_UNAVAILABLE(macos)
     @interface HMEvent : NSObject
 
+- (instancetype)init API_DEPRECATED("HMEvent is abstract", ios(9.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
++ (instancetype)new API_DEPRECATED("HMEvent is abstract", ios(9.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
+
 /*!
  * @brief A unique identifier for the event.
  */
diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMTimerTrigger.h /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMTimerTrigger.h
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMTimerTrigger.h	2022-10-06 13:21:18
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMTimerTrigger.h	2023-02-11 16:45:51
@@ -30,15 +30,11 @@
  *                 HMErrorCodeDateMustBeOnSpecifiedBoundaries will be returned when adding the trigger
  *                 to a home if the fireDate includes a seconds value other than 0.
  *
- * @param timeZone The time zone of the initial fire date. A value of nil indicates default timezone.
- *
  * @param recurrence The recurrence interval to fire the trigger. A value of nil indicates that the
  *                   trigger is non-repeating. The minimum reccurence interval is 5 minutes, maximum
  *                   recurrence interval is 5 weeks and the recurrence interval must be specified in
  *                   multiples of whole minutes.
  *
- * @param recurrenceCalendar The calendar corresponding to a recurring timer trigger. May be nil.
- *
  * @discussion Validity checks are performed when the trigger is added to the home and the NSError in
  *             the completion block for addTrigger: method indicates the reason for the failure:
  *             HMErrorCodeDateMustBeOnSpecifiedBoundaries is returned if the seconds/nanoseconds fields
@@ -49,9 +45,13 @@
  */
 - (instancetype)initWithName:(NSString *)name
                     fireDate:(NSDate *)fireDate
+                  recurrence:(nullable NSDateComponents *)recurrence API_AVAILABLE(ios(16.4), watchos(9.4), tvos(16.4), macCatalyst(16.4))API_UNAVAILABLE(macos);
+
+- (instancetype)initWithName:(NSString *)name
+                    fireDate:(NSDate *)fireDate
                     timeZone:(nullable NSTimeZone *)timeZone
                   recurrence:(nullable NSDateComponents *)recurrence
-          recurrenceCalendar:(nullable NSCalendar *)recurrenceCalendar NS_DESIGNATED_INITIALIZER API_UNAVAILABLE(watchos, tvos);
+          recurrenceCalendar:(nullable NSCalendar *)recurrenceCalendar API_DEPRECATED_WITH_REPLACEMENT("-initWithName:fireDate:recurrence:", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
 
 /*!
  * @brief Specifies when, in an absolute time, the trigger should fire the first time.
@@ -64,14 +64,7 @@
  */
 @property (readonly, copy, nonatomic) NSDate *fireDate;
 
-/*!
- * @brief Set the time zone to interpret the fire date in. 
- * 
- * @discussion If this value is nil and the user switches time zones, the time the trigger is
- *             fired will be adjusted to account for the time zone change. If this value is
- *             non-nil, the trigger will fire at the specified time in the specific time zone.
- */
-@property (readonly, copy, nonatomic, nullable) NSTimeZone *timeZone;
+@property (readonly, copy, nonatomic, nullable) NSTimeZone *timeZone API_DEPRECATED("Use HMEventTrigger with HMCalendarEvent for triggers based on a time-zone-relative time of day", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
 
 /*!
  * @brief The date components that specify how a trigger is to be repeated. 
@@ -88,10 +81,7 @@
  */
 @property (readonly, copy, nonatomic, nullable) NSDateComponents *recurrence;
 
-/*!
-  * @brief The calendar corresponding to a recurring timer trigger.
-  */
-@property (readonly, copy, nonatomic, nullable) NSCalendar *recurrenceCalendar;
+@property (readonly, copy, nonatomic, nullable) NSCalendar *recurrenceCalendar API_DEPRECATED("No longer supported", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(10.0, 16.4), watchos(2.0, 9.4));
 
 /*!
  * @brief This method is used to change the fire date of a timer trigger.
@@ -105,17 +95,7 @@
  */
 - (void)updateFireDate:(NSDate *)fireDate completionHandler:(void (^)(NSError *__nullable error))completion API_UNAVAILABLE(watchos, tvos);
 
-/*!
- * @brief This method is used to change the time zone of the fire date of a timer trigger.
- *
- * @param timeZone New time zone for the trigger. Passing a nil indicates that the default
- *                 (system) timezone is used.
- *
- * @param completion Block that is invoked once the request is processed.
- *                   The NSError provides more information on the status of the request,
- *                   error will be nil on success.
- */
-- (void)updateTimeZone:(nullable NSTimeZone *)timeZone completionHandler:(void (^)(NSError *__nullable error))completion API_UNAVAILABLE(watchos, tvos);
+- (void)updateTimeZone:(nullable NSTimeZone *)timeZone completionHandler:(void (^)(NSError *__nullable error))completion API_DEPRECATED("Use HMEventTrigger with HMCalendarEvent for triggers based on a time-zone-relative time of day", ios(8.0, 16.4), macos(10.14, 13.3), macCatalyst(14.0, 16.4), tvos(12.0, 16.4), watchos(5.0, 9.4));
 
 /*!
  * @brief This method is used to change the recurrence interval for a timer trigger.
diff -ruN /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HomeKit.apinotes /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HomeKit.apinotes
--- /Applications/Xcode_14.2.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HomeKit.apinotes	2022-09-30 07:31:31
+++ /Applications/Xcode_14.3.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HomeKit.apinotes	2023-02-10 11:51:57
@@ -36,6 +36,9 @@
     MethodKind: Instance
 - Name: HMTimerTrigger
   Methods:
+  - Selector: 'initWithName:fireDate:recurrence:'
+    SwiftName: 'init(name:fireDate:recurrence:)'
+    MethodKind: Instance
   - Selector: 'initWithName:fireDate:timeZone:recurrence:recurrenceCalendar:'
     SwiftName: 'init(name:fireDate:timeZone:recurrence:recurrenceCalendar:)'
     MethodKind: Instance
Clone this wiki locally