Why it exists - UIAutomation is powerful, but it’s API leads to verbose and brittle code.

Helps you get the elements you care about and interact with them in a terse and readable way

jQuery for UIAutomation - helps you “find” the elements you want in very little code

mechanic performance

generally does a tree traversal starting at the selector’s context (defaults to the frontMostApp()) - however, the performance gains are at the scale of user interactions like taps and scrolls, so the performance hit is inconsequential.

a “non issue”

gotchas - as your App’s “DOM” changes, the selectors need to be “re-ran”

UIAutomation equality is broken, which makes more obscure parts of mechanic simply not work

Iterating a UIAElement’s children and comparing a child to itself via indexor comes back as not equal.

In this Xcode release, Auto Layout is turned on for new user interface documents (storyboards and nib files). Because Auto Layout requires iOS 6.0, using such user interface documents on earlier iOS releases results in a crash or other undefined behavior.

For your app to run on earlier iOS releases, turn off Auto Layout in its user interface documents.

UIAElement equality still appears broken in UIAutomation :(

RCS and CVS are deprecated in this Xcode release.

ISSUES: The po, print, and expression commands cannot access enumerators directly. You must use the name of the enumeration. For example, if your code contains

Need a device in a mid range price point, and need to drive additional hardware sales for profit growth (hardware sales are crucial for Apple: see this graph of revenue by segment) also this revenue from hardware sales link

Reasons in might not be true:

Cannibalization of iPad sales (what features could they limit? no 3G/4G?)