Skip to content

Accessibility iOS xcode16.2 b2

Rolf Bjarne Kvinge edited this page Nov 22, 2024 · 3 revisions

#Accessibility.framework https://github.com/xamarin/xamarin-macios/pull/21686

diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXFeatureOverrideSessionManager.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXFeatureOverrideSessionManager.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXFeatureOverrideSessionManager.h	1969-12-31 19:00:00
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXFeatureOverrideSessionManager.h	2024-10-26 13:11:12
@@ -0,0 +1,48 @@
+//
+//  AXFeatureOverrideSessionManager.h
+//  Accessibility
+//
+//  Created by Drew Haas on 9/30/24.
+//  Copyright © 2024 Apple. All rights reserved.
+//
+
+#import <TargetConditionals.h>
+
+#if TARGET_OS_IOS && !TARGET_OS_VISION && !TARGET_OS_MACCATALYST
+
+#import <Accessibility/AXFoundation.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Options indicating which Accessibility features will be turned on or off when an override session is held by your app.
+typedef NS_OPTIONS(NSUInteger, AXFeatureOverrideSessionOptions) {
+    AXFeatureOverrideSessionOptionsGrayscale = 1 << 0,
+    AXFeatureOverrideSessionOptionsInvertColors = 1 << 1,
+    AXFeatureOverrideSessionOptionsVoiceControl = 1 << 2,
+    AXFeatureOverrideSessionOptionsVoiceOver = 1 << 3,
+    AXFeatureOverrideSessionOptionsZoom = 1 << 4
+} NS_SWIFT_NAME(AXFeatureOverrideSession.Options);
+
+/// A token object that represents an override session held by your app.
+@interface AXFeatureOverrideSession : NSObject
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+@end
+
+/// A manager class to begin and end accessibility feature override sessions. Multiple override sessions are reconciled by combining the requests, preferring feature enablement. Ending all sessions restores the prior state of Accessibility feature enablement. Your app must be entitled with com.apple.developer.accessibility.merchant.api.control.
+AX_EXTERN API_AVAILABLE(ios(18.2))
+@interface AXFeatureOverrideSessionManager : NSObject
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+@property (class, readonly) AXFeatureOverrideSessionManager *sharedInstance;
+
+- (AXFeatureOverrideSession *)beginOverrideSessionEnablingOptions:(AXFeatureOverrideSessionOptions)enableOptions disablingOptions:(AXFeatureOverrideSessionOptions)disableOptions NS_SWIFT_NAME(beginOverrideSession(enabling:disabling:));
+- (void)endOverrideSession:(AXFeatureOverrideSession *)session;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXMathExpression.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXMathExpression.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXMathExpression.h	1969-12-31 19:00:00
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXMathExpression.h	2024-10-26 01:46:53
@@ -0,0 +1,121 @@
+//
+//  AXMathExpression.h
+//  Accessibility
+//
+
+#import <Foundation/Foundation.h>
+#import <Accessibility/AXFoundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*
+ AXMathExpression provides an interface for returning a hierarchical, formatted math expression for assistive technologies to output, using either speech or Braille.
+*/
+
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpression : NSObject
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionNumber : AXMathExpression
+- (instancetype)initWithContent:(NSString *)content;
+@property(nonatomic, readonly) NSString *content;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionIdentifier : AXMathExpression
+- (instancetype)initWithContent:(NSString *)content;
+@property(nonatomic, readonly) NSString *content;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionOperator : AXMathExpression
+- (instancetype)initWithContent:(NSString *)content;
+@property(nonatomic, readonly) NSString *content;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionText : AXMathExpression
+- (instancetype)initWithContent:(NSString *)content;
+@property(nonatomic, readonly) NSString *content;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionFenced : AXMathExpression
+- (instancetype)initWithExpressions:(NSArray<AXMathExpression *> *)expressions openString:(NSString *)openString closeString:(NSString *)closeString;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *expressions;
+@property(nonatomic, readonly) NSString *openString;
+@property(nonatomic, readonly) NSString *closeString;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionRow : AXMathExpression
+- (instancetype)initWithExpressions:(NSArray<AXMathExpression *> *)expressions;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *expressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionTable : AXMathExpression
+- (instancetype)initWithExpressions:(NSArray<AXMathExpression *> *)expressions;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *expressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionTableRow : AXMathExpression
+- (instancetype)initWithExpressions:(NSArray<AXMathExpression *> *)expressions;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *expressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionTableCell : AXMathExpression
+- (instancetype)initWithExpressions:(NSArray<AXMathExpression *> *)expressions;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *expressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionUnderOver : AXMathExpression
+- (instancetype)initWithBaseExpression:(AXMathExpression *)baseExpression underExpression:(AXMathExpression *)underExpression overExpression:(AXMathExpression *)overExpression;
+@property(nonatomic, readonly) AXMathExpression *baseExpression;
+@property(nonatomic, readonly) AXMathExpression *underExpression;
+@property(nonatomic, readonly) AXMathExpression *overExpression;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionSubSuperscript : AXMathExpression
+- (instancetype)initWithBaseExpression:(NSArray<AXMathExpression *> *)baseExpression subscriptExpressions:(NSArray<AXMathExpression *> *)subscriptExpressions superscriptExpressions:(NSArray<AXMathExpression *> *)superscriptExpressions;
+@property(nonatomic, readonly) AXMathExpression *baseExpression;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *subscriptExpressions;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *superscriptExpressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionFraction : AXMathExpression
+- (instancetype)initWithNumeratorExpression:(AXMathExpression *)numeratorExpression denimonatorExpression:(AXMathExpression *)denimonatorExpression;
+@property(nonatomic, readonly) AXMathExpression *numeratorExpression;
+@property(nonatomic, readonly) AXMathExpression *denimonatorExpression;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionMultiscript : AXMathExpression
+- (instancetype)initWithBaseExpression:(AXMathExpression *)baseExpression prescriptExpressions:(NSArray<AXMathExpressionSubSuperscript *> *)prescriptExpressions postscriptExpressions:(NSArray<AXMathExpressionSubSuperscript *> *)postscriptExpressions;
+@property(nonatomic, readonly) AXMathExpression *baseExpression;
+@property(nonatomic, readonly) NSArray<AXMathExpressionSubSuperscript *> *prescriptExpressions;
+@property(nonatomic, readonly) NSArray<AXMathExpressionSubSuperscript *> *postscriptExpressions;
+@end
+
+API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
+@interface AXMathExpressionRoot : AXMathExpression
+- (instancetype)initWithRadicandExpressions:(NSArray<AXMathExpression *> *)radicandExpressions rootIndexExpression:(AXMathExpression *)rootIndexExpression;
+@property(nonatomic, readonly) NSArray<AXMathExpression *> *radicandExpressions;
+@property(nonatomic, readonly) AXMathExpression *rootIndexExpression;
+@end
+
+@protocol AXMathExpressionProvider <NSObject>
+
+// Implement this method on an accessibility object for it to return a formatted math expression to be output.
+- (nullable AXMathExpression *)accessibilityMathExpression API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXSettings.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXSettings.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXSettings.h	2024-10-04 21:34:23
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/AXSettings.h	2024-10-26 13:11:12
@@ -36,6 +36,8 @@
 typedef NS_ENUM(NSInteger, AXSettingsFeature) {
     // Jump to the setting for "Allow Apps to Request to Use" in Personal Voice. This is relevant for the AVSpeechSynthesis.personalVoiceAuthorizationStatus API.
     AXSettingsFeaturePersonalVoiceAllowAppsToRequestToUse = 1,
+    // Jump to the setting for "Allow Apps to Add Audio to Calls." This is relevant for the AVAudioSession.preferredMicrophoneInjectionMode API.
+    AXSettingsFeatureAllowAppsToAddAudioToCalls API_AVAILABLE(ios(18.2), macos(15.2), tvos(18.2), watchos(11.2), visionos(2.2))
 } NS_SWIFT_NAME(AccessibilitySettings.Feature) API_AVAILABLE(ios(18.0), macos(15.0), tvos(18.0), watchos(11.0), visionos(2.0));
 
 // Open the Settings app to a specific section.
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/Accessibility.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/Accessibility.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/Accessibility.h	2024-10-04 21:34:23
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Accessibility.framework/Headers/Accessibility.h	2024-10-26 13:11:12
@@ -14,3 +14,5 @@
 #import <Accessibility/AXRequest.h>
 #import <Accessibility/AXSettings.h>
 #import <Accessibility/AXTechnology.h>
+#import <Accessibility/AXMathExpression.h>
+#import <Accessibility/AXFeatureOverrideSessionManager.h>
Clone this wiki locally