アクセシビリティ インスペクターは私の KIF テストでオンになっています (明らかに、KIF が機能するために必要です)。
UI テストを実行できるように、KIF テストが完了したときに Accessibility Inspector をオフにするにはどうすればよいですか?
(シミュレーターの設定アプリから「手動で」オフにすることは解決策ではありません。コードから呼び出したり、ターゲットに設定したりできるものを探していますか...?)
アクセシビリティ インスペクターは私の KIF テストでオンになっています (明らかに、KIF が機能するために必要です)。
UI テストを実行できるように、KIF テストが完了したときに Accessibility Inspector をオフにするにはどうすればよいですか?
(シミュレーターの設定アプリから「手動で」オフにすることは解決策ではありません。コードから呼び出したり、ターゲットに設定したりできるものを探していますか...?)
Stew Gleadow のブログで以下を見ました。
次の行を変更するだけです。
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];
}
デフォルトではオンになっていません。手動でオンにする必要があります。