TestingWithFrank/Frank — pull request #17 by MichaelBuckley (2014-01-18 07:34:09+00:00)
Title: Restore on-device testing in iOS 7

This is, unfortunately, not a clear win, so I'm sending it out for feedback.

I came to the conclusion that there was no way to use the UIAutomation APIs which Pete figured out how to wrap ( http://blog.thepete.net/blog/2012/08/20/introducing-publicautomation/ ). The core issue here is that Apple has locked it off, and you need a special entitlement to use it. You cannot generate this entitlement yourself when signing your app. Only Apple-approved apps can use UIAutomation.

So I switched Frank to simulate UIEvents, which is what KIF does. In fact, most of this change pulls in some more code from KIF. I don't think there's a licensing problem here, since we're already using some KIF code, but please feel free to correct me. I used KIF because I wanted to get this done as quickly as possible. As a result, the code is not as clean as it could be, but we can fix that in the future.

As part of this change, I updated the Controls example for iOS 7. I was able to run all of its tests on my iPhone 5 running iOS 7, as well as in the simulator.