@DylanLacey have a look at this, it's a gotcha of working with sim paths. My iOS SDK version might be '7.0', but the directory might be '7.0.3', or '7.0.3-64', so I changed this to use the directory finder from settings.js, and to throw a warning if there are multiple dirs. Unfortunately this change makes the unit tests rather impractical since it really depends on getting the status of the filesystem, so I added a new functional test and removed the unit tests.
Also verified tests pass now on 6.1, 7.0, and 7.1 with these changes
`mobile: pullFile {:path => '/Some/Path'}` fetches a file relative to
the root of the device's filesystem.
`mobile: pullFile {:path => '/Applications/Some.app'}` fetches a file
relative to the root of that Application's .app directory, adding in the
GUID.
Fixes#2010, #1807
Every entry in `Capabilities.capabilityConversions` is now used to
convert capabilities into the args array.
Change version to versionVersion.
Change device to platformName
Stop aliasing platformVersion to version in Capabilities.js
Add deprecation warnings for class name, tag name locator strategies.
Deprecations warnings will now be thrown for:
* 'tag name' in the native context
* 'class name' in the native context
* 'class name' in the web context
'class_name' is now a valid locator strategy for checkValidLocStrat
Add test for new class name locator
rename createCommand createGetElementCommand
Adding unit tests for new exception throwing
Add test for incorrect UIA class names
Added deprecation warning for older style caps. Warnings are output
once only for a given function or capability. A final trailing log
message is released saying there were deprecations.
Busted unit tests into smaller tests
Capabilities are now an object, created by passing the capabilities
to Capabilities. Properties on that object are copied into the Capabilities object so the API is identical.
Store the value of platformVersion as version.