React-Native iOS:如何确定是否启用了 Switch Control 辅助功能?

React-Native iOS: How to determine that the Switch Control accessibility feature is enabled?

我有一个 React-Native 应用程序。 我为启用 VoiceOver 辅助功能的情况制作了一个屏幕的替代视图。我使用 AccessibilityInfo 制作了这个。但我无法弄清楚如何检查是否启用了“切换控制”辅助功能。可能吗?谢谢

这样检查:

AccessibilityInfo.fetch().then((isEnabled) => {
  this.setState({
    screenReaderEnabled: isEnabled,
  });
});

在此处阅读文档:https://facebook.github.io/react-native/docs/accessibilityinfo

我根据这个文档创建了一个原生模块:

https://facebook.github.io/react-native/docs/native-modules-ios

#import "RNAccessibilityManager.h"
#import <UIKit/UIKit.h>

@interface RNAccessibilityManager ()
@end

@implementation RNAccessibilityManager

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(getCurrentSwitchControlState:(RCTResponseSenderBlock)callback)
{
    callback(@[@(UIAccessibilityIsSwitchControlRunning())]);
}

@end

手动链接并像这样使用:

import RNAccessibilityManager from 'react-native-accessibility-manager'

RNAccessibilityManager.getCurrentSwitchControlState((isEnabled) => {
  this.setState({
    switchControlEnabled: isEnabled,
  });
});