Skip to content

HomeKit tvOS xcode16.0 b3

Rolf Bjarne Kvinge edited this page Aug 20, 2024 · 3 revisions

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

diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicDefines.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicDefines.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicDefines.h	2024-06-19 07:18:58
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicDefines.h	2024-06-30 21:16:48
@@ -327,8 +327,34 @@
     HMCharacteristicValueValveTypeWaterFaucet,
 } API_AVAILABLE(ios(11.2), watchos(4.2), tvos(11.2), macCatalyst(14.0)) API_UNAVAILABLE(macos);
 
+/*!
+ @enum      HMCharacteristicValueVolumeControlType
 
+ @constant  HMCharacteristicValueVolumeControlTypeNone                 Volume cannot be controlled.
+ @constant  HMCharacteristicValueVolumeControlTypeRelative             Relative control (changed by one step at a time).
+ @constant  HMCharacteristicValueVolumeControlTypeRelativeWithCurrent  Relative control (changed by one step at a time), but has a current value.
+ @constant  HMCharacteristicValueVolumeControlTypeAbsolute             Absolute control (can be directly set to a specific value).
+ */
+typedef NS_ENUM(NSInteger, HMCharacteristicValueVolumeControlType) {
+    HMCharacteristicValueVolumeControlTypeNone = 0,
+    HMCharacteristicValueVolumeControlTypeRelative,
+    HMCharacteristicValueVolumeControlTypeRelativeWithCurrent,
+    HMCharacteristicValueVolumeControlTypeAbsolute,
+} API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
 /*!
+ @enum      HMCharacteristicValueVolumeSelector
+
+ @constant  HMCharacteristicValueVolumeSelectorVolumeIncrement     Increment the volume.
+ @constant  HMCharacteristicValueVolumeSelectorVolumeDecrement     Decrement the volume.
+ */
+typedef NS_ENUM(NSInteger, HMCharacteristicValueVolumeSelector) {
+    HMCharacteristicValueVolumeSelectorVolumeIncrement = 0,
+    HMCharacteristicValueVolumeSelectorVolumeDecrement,
+} API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
+
+/*!
  @enum      HMCharacteristicValueDoorState
 
  @constant  HMCharacteristicValueDoorStateOpen     The door is fully open.
@@ -795,6 +821,19 @@
     HMCharacteristicValueCurrentVisibilityStateHidden = 1,
     HMCharacteristicValueCurrentVisibilityStateConnected = 2,
     HMCharacteristicValueCurrentVisibilityStateAlwaysShown = 3,
+} API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
+/*!
+ @enum      HMCharacteristicValueTargetMediaState
+
+ @constant  HMCharacteristicValueTargetMediaStatePlay   Start playback.
+ @constant  HMCharacteristicValueTargetMediaStatePause  Pause playback.
+ @constant  HMCharacteristicValueTargetMediaStateStop   Stop playback.
+*/
+typedef NS_ENUM(NSInteger, HMCharacteristicValueTargetMediaState) {
+    HMCharacteristicValueTargetMediaStatePlay = 0,
+    HMCharacteristicValueTargetMediaStatePause = 1,
+    HMCharacteristicValueTargetMediaStateStop = 2,
 } API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
 
 /*!
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicTypes.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicTypes.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicTypes.h	2024-06-19 06:11:44
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMCharacteristicTypes.h	2024-07-02 07:40:48
@@ -35,6 +35,11 @@
 HM_EXTERN NSString * const HMCharacteristicPropertyHidden API_AVAILABLE(ios(9.3), watchos(2.2), tvos(10.0), macCatalyst(14.0)) API_UNAVAILABLE(macos);
 
 /*!
+ * @brief This constant specifies that the characteristic requires authorization data for a write.
+ */
+HM_EXTERN NSString * const HMCharacteristicPropertyRequiresAuthorizationData API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
+/*!
  * @group Accessory Service Characteristic Types
  *
  * @brief These constants define the characteristic types supported by the HomeKit Accessory Profile for HomeKit based accessories.
@@ -432,8 +437,18 @@
  */
 HM_EXTERN NSString * const HMCharacteristicTypeValveType API_AVAILABLE(ios(11.2), watchos(4.2), tvos(11.2), macCatalyst(14.0)) API_UNAVAILABLE(macos);
 
+/*!
+ * @brief Characteristic type for volume control type. The value of the characteristic is one of the values defined for HMCharacteristicValueVolumeControlType.
+ */
+HM_EXTERN NSString * const HMCharacteristicTypeVolumeControlType API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
 
 /*!
+ * @brief Characteristic type for volume selector. The value of the characteristic is one of the values defined for HMCharacteristicValueVolumeSelector.
+ */
+HM_EXTERN NSString * const HMCharacteristicTypeVolumeSelector API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
+
+/*!
  * @brief Characteristic type for brightness. The value of the characteristic is an int value in percent.
  */
 HM_EXTERN NSString * const HMCharacteristicTypeBrightness API_AVAILABLE(ios(8.0), watchos(2.0), tvos(10.0), macCatalyst(14.0)) API_UNAVAILABLE(macos);
@@ -752,6 +767,11 @@
  * @brief Characteristic type for current visibility state. The value of the characteristic is one of the values defined for HMCharacteristicValueCurrentVisibilityState.
  */
 HM_EXTERN NSString * const HMCharacteristicTypeCurrentVisibilityState API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
+
+/*!
+ * @brief Characteristic type for target media state. The value of the characteristic is one of the values defined for HMCharacteristicValueTargetMediaState.
+ */
+HM_EXTERN NSString * const HMCharacteristicTypeTargetMediaState API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(macos);
 
 /*!
  * @brief Characteristic type for router status. The value of the characteristic is one of the values defined for HMCharacteristicValueRouterStatus.
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMService.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMService.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMService.h	2024-06-19 05:51:49
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/HomeKit.framework/Headers/HMService.h	2024-06-29 08:32:37
@@ -89,6 +89,13 @@
 @property (readonly, copy, nonatomic) NSArray<HMService *> *__nullable linkedServices API_AVAILABLE(ios(10.0), watchos(3.0), tvos(10.0));
 
 /*!
+ * @brief The Matter endpoint identifier that this service is mapped to.
+ *
+ * @discussion This property is nil for HAP accessories, and set to a valid value for Matter devices.
+ */
+@property (nullable, readonly, copy, nonatomic) NSNumber *matterEndpointID NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macCatalyst(18.0)) API_UNAVAILABLE(macos);
+
+/*!
  * @brief This method is used to change the name of the service.
  *
  * @param name New name for the service.
Clone this wiki locally