【问题标题】:How do I turn off the Accessibility Inspector in the iOS 9 simulator?如何在 iOS 9 模拟器中关闭辅助功能检查器?
【发布时间】:2016-03-30 19:45:34
【问题描述】:

我的 KIF 测试打开了可访问性检查器(显然它是 KIF 工作所必需的。)问题是,它的窗口遮挡了一些后续 UI 测试需要点击的控件,而这些测试失败了。

如何在我的 KIF 测试完成后关闭 Accessibility Inspector,以便我的 UI 测试可以运行?

(从模拟器的“设置”应用中“手动”关闭它不是解决方案——我正在寻找可以从代码中调用、在目标中设置或...?)

【问题讨论】:

    标签: ios-simulator accessibility xcode-ui-testing kif kif-framework


    【解决方案1】:

    默认情况下不启用。您必须手动开启。

    【讨论】:

    • 你是对的。这是我的 KIF 测试打开它,而不是关闭它 - 请参阅上面的编辑。
    【解决方案2】:

    我在Stew Gleadow's blog看到了以下内容。

    你只需要换行:

    CFPreferencesSetValue(CFSTR("ApplicationAccessibilityEnabled"), kCFBooleanFalse, accessibilityDomain, kCFPreferencesAnyUser, kCFPreferencesAnyHost); 
    

    kCFBooleanTrue 更改为kCFBooleanFalse

    + (void)_enableAccessibilityInSimulator {
        NSAutoreleasePool *autoreleasePool = [[NSAutoreleasePool alloc] init];
        NSString *appSupportLocation = @"/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport";
    
        NSDictionary *environment = [[NSProcessInfo processInfo] environment];
        NSString *simulatorRoot = [environment objectForKey:@"IPHONE_SIMULATOR_ROOT"];
        if (simulatorRoot) {
            appSupportLocation = [simulatorRoot stringByAppendingString:appSupportLocation];
        }
    
        void *appSupportLibrary = dlopen([appSupportLocation fileSystemRepresentation], RTLD_LAZY);
    
        CFStringRef (*copySharedResourcesPreferencesDomainForDomain)(CFStringRef domain) = dlsym(appSupportLibrary, "CPCopySharedResourcesPreferencesDomainForDomain");
    
        if (copySharedResourcesPreferencesDomainForDomain) {
            CFStringRef accessibilityDomain = copySharedResourcesPreferencesDomainForDomain(CFSTR("com.apple.Accessibility"));
    
            if (accessibilityDomain) {
                CFPreferencesSetValue(CFSTR("ApplicationAccessibilityEnabled"), kCFBooleanFalse, accessibilityDomain, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
                CFRelease(accessibilityDomain);
            }
        }
    
        [autoreleasePool drain];
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      相关资源
      最近更新 更多