-
Notifications
You must be signed in to change notification settings - Fork 569
CoreBluetooth tvOS xcode27.0 b1
Alex Soto edited this page Jun 9, 2026
·
1 revision
#CoreBluetooth.framework
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBCentralManager.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBCentralManager.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBCentralManager.h 2026-04-23 23:23:27
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBCentralManager.h 2026-06-04 02:26:11
@@ -61,10 +61,12 @@
* @discussion The set of device specific features.
*
* @constant CBCentralManagerFeatureExtendedScanAndConnect The hardware supports extended scans and enhanced connection creation
+ * @constant CBCentralManagerFeatureChannelSounding The hardware and region supports channel sounding
*
*/
typedef NS_OPTIONS(NSUInteger, CBCentralManagerFeature) {
CBCentralManagerFeatureExtendedScanAndConnect CB_CM_API_AVAILABLE = 1UL << 0,
+ CBCentralManagerFeatureChannelSounding API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) = 1UL << 10
} NS_SWIFT_NAME(CBCentralManager.Feature);
@protocol CBCentralManagerDelegate;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBError.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBError.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBError.h 2026-04-18 18:53:55
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBError.h 2026-05-29 22:54:21
@@ -45,6 +45,8 @@
CBErrorTooManyLEPairedDevices NS_ENUM_AVAILABLE(11_0, 14_0) = 16,
CBErrorLeGattExceededBackgroundNotificationLimit API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(macos,ios, tvos) = 17,
CBErrorLeGattNearBackgroundNotificationLimit API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(macos,ios, tvos) = 18,
+ CBErrorChannelSoundingConfigurationFailed API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) = 19,
+ CBErrorChannelSoundingProcedureFailed API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) = 20,
};
CB_EXTERN NSString * const CBATTErrorDomain;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h 2026-04-23 23:23:26
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h 2026-06-04 02:27:03
@@ -43,8 +43,19 @@
CBCharacteristicWriteWithoutResponse,
};
+/*!
+ * @enum CBChannelSoundingSessionConfigurationRole
+ *
+ * @discussion Specifies which channel sounding role a CBPeripheral should assume for a given session.
+ *
+ */
+typedef NS_ENUM(NSInteger, CBChannelSoundingSessionConfigurationRole) {
+ CBChannelSoundingSessionConfigurationRoleInitiator = 0
+} API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) NS_SWIFT_NAME(CBChannelSoundingSessionConfiguration.Role);
+
@protocol CBPeripheralDelegate;
@class CBService, CBCharacteristic, CBDescriptor, CBUUID;
+@class CBChannelSoundingSessionConfiguration, CBChannelSoundingProcedureResults;
/*!
* @class CBPeripheral
@@ -258,6 +269,27 @@
* @see peripheral:didWriteValueForCharacteristic:error:
*/
- (void)openL2CAPChannel:(CBL2CAPPSM)PSM NS_AVAILABLE(10_14, 11_0);
+
+/*!
+ * @method startChannelSoundingSession:
+ *
+ * @param configuration An object specifying the channel sounding session configuration.
+ *
+ * @discussion Initiate a channel sounding session.
+ *
+ * @see peripheral:didReceiveChannelSoundingProcedureResults:error
+ */
+- (void)startChannelSoundingSession:(CBChannelSoundingSessionConfiguration *)configuration API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos);
+
+/*!
+ * @method cancelChannelSoundingSession
+ *
+ * @discussion Cancels the active channel sounding session, if it exists.
+ *
+ * @see peripheral:didCompleteChannelSoundingSession:
+ */
+- (void)cancelChannelSoundingSession API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos);
+
@end
@@ -441,6 +473,57 @@
*/
- (void)peripheral:(CBPeripheral *)peripheral didOpenL2CAPChannel:(nullable CBL2CAPChannel *)channel error:(nullable NSError *)error;
+/*!
+ * @method peripheral:didReceiveChannelSoundingProcedureResults:error:
+ *
+ * @param peripheral The peripheral providing this update.
+ * @param results An object containing the results of a channel sounding procedure.
+ * @param error If an error occurred, the cause of the failure.
+ *
+ * @discussion This method returns the results of a channel sounding procedure.
+ */
+- (void)peripheral:(CBPeripheral *)peripheral didReceiveChannelSoundingProcedureResults:(nullable CBChannelSoundingProcedureResults *)results error:(nullable NSError *)error API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos);
+
+/*!
+ * @method peripheral:didCompleteChannelSoundingSession:
+ *
+ * @param peripheral The peripheral providing this update.
+ * @param error If an error occurred, the cause of the failure.
+ *
+ * @discussion This method is called when a channel sounding session completes.
+ */
+- (void)peripheral:(CBPeripheral *)peripheral didCompleteChannelSoundingSession:(nullable NSError *)error API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos);
+
+
+@end
+
+CB_EXTERN_CLASS
+API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos)
+__attribute__((objc_subclassing_restricted))
+@interface CBChannelSoundingSessionConfiguration : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ * The channel sounding role a CBPeripheral should assume for a given session.
+ */
+@property (nonatomic, readonly) CBChannelSoundingSessionConfigurationRole role;
+
+- (instancetype)initWithRole:(CBChannelSoundingSessionConfigurationRole)role NS_DESIGNATED_INITIALIZER;
+
+@end
+
+CB_EXTERN_CLASS
+API_AVAILABLE(ios(27.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos)
+__attribute__((objc_subclassing_restricted))
+@interface CBChannelSoundingProcedureResults : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ * The measured distance in meters of a CBPeripheral.
+ */
+@property (nonatomic, readonly) double distance;
@end