From 1a7dd6f2346a58e031e355b8b2f12f046d03f5c6 Mon Sep 17 00:00:00 2001 From: Jonathan Lipps Date: Mon, 7 Apr 2014 14:44:39 -0700 Subject: [PATCH] fix up some version handling so we can use ios 7.0 with xcode 5.1 for example --- lib/devices/device.js | 6 +++++- lib/devices/ios/ios.js | 9 ++++----- lib/devices/ios/safari.js | 6 +++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/devices/device.js b/lib/devices/device.js index 34f136e05..86313e05c 100644 --- a/lib/devices/device.js +++ b/lib/devices/device.js @@ -34,7 +34,11 @@ Device.prototype.setArgFromCap = function (arg, cap) { if (typeof this.capabilities[cap] !== "undefined") { if (_.has(capConversion, cap)) { var key = capConversion[cap]; - this.args[key] = this.capabilities[cap]; + if (!_.has(this.capabilities, key)) { + // if we have both 'version' and 'platformVersion' caps being sent, + // make sure 'platformVersion' isn't overwritten by 'version' + this.args[key] = this.capabilities[cap]; + } } else { this.args[arg] = this.capabilities[cap]; } diff --git a/lib/devices/ios/ios.js b/lib/devices/ios/ios.js index 8bb9c2c2a..a64080d3e 100644 --- a/lib/devices/ios/ios.js +++ b/lib/devices/ios/ios.js @@ -164,9 +164,9 @@ IOS.prototype.configureApp = function (cb) { IOS.prototype.configurePreferences = function (cb) { logger.info("Configuring settings app"); var prefsVer = null; - var caps = this.capabilities; - if (typeof caps.platformVersion !== "undefined" && caps.platformVersion) { - prefsVer = caps.platformVersion; + if (typeof this.args.platformVersion !== "undefined" && + this.args.platformVersion) { + prefsVer = this.args.platformVersion; } var sdkNext = function (prefsVer) { @@ -246,7 +246,7 @@ IOS.prototype.preCleanup = function (cb) { }; IOS.prototype.getNumericVersion = function () { - return parseFloat(this.capabilities.platformVersion); + return parseFloat(this.args.platformVersion); }; IOS.prototype.start = function (cb, onDie) { @@ -433,7 +433,6 @@ IOS.prototype.setiOSSDKVersion = function (cb) { logger.error("Could not determine iOS SDK version"); } this.iOSSDKVersion = versionNumber; - this.capabilities.platformVersion = versionNumber; logger.info("iOS SDK Version set to " + this.iOSSDKVersion); cb(); }.bind(this)); diff --git a/lib/devices/ios/safari.js b/lib/devices/ios/safari.js index 919cee2db..bb6b6a94f 100644 --- a/lib/devices/ios/safari.js +++ b/lib/devices/ios/safari.js @@ -33,9 +33,9 @@ Safari.prototype.configure = function (args, caps, cb) { Safari.prototype.configureSafari = function (cb) { var safariVer = null; - var caps = this.capabilities; - if (typeof caps.platformVersion !== "undefined" && caps.platformVersion) { - safariVer = caps.platformVersion; + if (typeof this.args.platformVersion !== "undefined" && + this.args.platformVersion) { + safariVer = this.args.platformVersion; } logger.info("Trying to use mobile safari, version " + safariVer); var checkNext = function (attemptedApp, origApp, safariVer) {