For some reason I was able to run my KIF tests on my work machine
without enabling the accessibility inspector, so I had no idea this
feature existed (on my home machine, KIF forced me to enable it to
continue.)
So, problem solved, but possibly there's a bug in KIFTestController
_isAccessibilityInspectorEnabled if I never got an exception running
without it. I'll check my work machine when I get a chance.
I checked Accessibility.plist on my work machine, which had the
Accessibility Inspector setting set to OFF (4.3.2 simulator; I'd never
before switched this on) and runs KIF tests fine without it, and I saw
just these two keys:
AccessibilityEnabled: YES
ApplicationAccessibilityEnabled: YES
I then turned on the Accessibility Inspector setting, and saw these
additional keys appear in the plist (along with values for
ScreenCurtain and VoiceOver):
AXInspector.enabled: YES (changes when I open/close Accessibility
Inspector window)
AXInspector.frame: (frame)
AXInspectorEnabled: YES
If I turn the setting back off again, these additional keys persist in
the plist. This time, when I try to run my KIF tests, I get the
exception that the Accessibility Inspector needs to be enabled.
Now from here, if I manually change ApplicationAccessibilityEnabled in
the plist to YES, my tests run fine, even though the Accessibility
Inspector isn't being displayed in the simulator.
As to KIF's black magic accessibility check, I'm not sure if this
could be improved further -- maybe it works as well as it needs to,
given that it throws an exception if ApplicationAccessibilityEnabled
is set to NO.
However, you might consider adding a step to the setup process in the
README to enable the Accessibility Inspector setting.