{"action":"created","issue":{"url":"https://api.github.com/repos/appium/appium/issues/4819","labels_url":"https://api.github.com/repos/appium/appium/issues/4819/labels{/name}","comments_url":"https://api.github.com/repos/appium/appium/issues/4819/comments","events_url":"https://api.github.com/repos/appium/appium/issues/4819/events","html_url":"https://github.com/appium/appium/issues/4819","id":65442520,"number":4819,"title":"Unhandled error: TypeError: Cannot read property 'isInstalled' of undefined ios.js:1473","user":{"login":"nikolmarku1","id":5468694,"avatar_url":"https://avatars.githubusercontent.com/u/5468694?v=3","gravatar_id":"","url":"https://api.github.com/users/nikolmarku1","html_url":"https://github.com/nikolmarku1","followers_url":"https://api.github.com/users/nikolmarku1/followers","following_url":"https://api.github.com/users/nikolmarku1/following{/other_user}","gists_url":"https://api.github.com/users/nikolmarku1/gists{/gist_id}","starred_url":"https://api.github.com/users/nikolmarku1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikolmarku1/subscriptions","organizations_url":"https://api.github.com/users/nikolmarku1/orgs","repos_url":"https://api.github.com/users/nikolmarku1/repos","events_url":"https://api.github.com/users/nikolmarku1/events{/privacy}","received_events_url":"https://api.github.com/users/nikolmarku1/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/appium/appium/labels/NeedsTriage","name":"NeedsTriage","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"imurchie","id":2614354,"avatar_url":"https://avatars.githubusercontent.com/u/2614354?v=3","gravatar_id":"","url":"https://api.github.com/users/imurchie","html_url":"https://github.com/imurchie","followers_url":"https://api.github.com/users/imurchie/followers","following_url":"https://api.github.com/users/imurchie/following{/other_user}","gists_url":"https://api.github.com/users/imurchie/gists{/gist_id}","starred_url":"https://api.github.com/users/imurchie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imurchie/subscriptions","organizations_url":"https://api.github.com/users/imurchie/orgs","repos_url":"https://api.github.com/users/imurchie/repos","events_url":"https://api.github.com/users/imurchie/events{/privacy}","received_events_url":"https://api.github.com/users/imurchie/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-03-31T12:48:59Z","updated_at":"2015-04-01T09:19:42Z","closed_at":null,"body":"OS    :  OS X Yosemite\r\nAppium : I installed latest commit :  commit 84e8458404\r\n\r\nI was having issue with fruitstrap quit unexpectedly so tried the latest code ixes while trying to run test on iPad mini 1 and on safari browser\r\n\r\nI am using selenium 2.45 and running test on the grid\r\n\r\n- error: Unhandled error: TypeError: Cannot read property 'isInstalled' of undefined\r\n    at IOS.isAppInstalled (/Users/qa/automation/apps/appium/newAppiumGit/appium/lib/devices/ios/ios.js:1473:20)\r\n\r\nAm I missing some sort of flag been set?\r\n\r\nCould you advice please?\r\n\r\nThanks\r\nNiko\r\n\r\n\r\nappium logs\r\n\r\n2015-03-31 12:55:41:752 - info: [debug] Configuring Safari session\r\n2015-03-31 12:55:41:753 - info: [debug] Using local .zip from desired caps: /Users/qa/automation/apps/appium/newAppiumGit/appium/build/SafariLauncher/SafariLauncher.zip\r\n2015-03-31 12:55:41:754 - info: [debug] Copying local zip to tmp dir\r\n2015-03-31 12:55:41:759 - info: [debug] /Users/qa/automation/apps/appium/newAppiumGit/appium/build/SafariLauncher/SafariLauncher.zip copied to /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/appium-app.zip\r\n2015-03-31 12:55:41:767 - info: [debug] Unzipping /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/appium-app.zip\r\n2015-03-31 12:55:41:768 - info: [debug] Testing zip archive: /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/appium-app.zip\r\n2015-03-31 12:55:41:774 - info: [debug] Zip archive tested clean\r\n2015-03-31 12:55:41:784 - info: [debug] Unzip successful\r\n2015-03-31 12:55:41:785 - info: [debug] Using locally extracted app: /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/submodules/SafariLauncher/build/Release-iphoneos/SafariLauncher.app\r\n2015-03-31 12:55:41:786 - info: [debug] Creating new appium session 4dc50e61-1ea1-457b-8416-b862afd89cfa\r\n2015-03-31 12:55:41:789 - info: [debug] Removing any remaining instruments sockets\r\n2015-03-31 12:55:41:790 - info: [debug] Cleaned up instruments socket /tmp/instruments_sock\r\n2015-03-31 12:55:41:791 - info: [debug] Setting Xcode folder\r\n2015-03-31 12:55:41:800 - info: [debug] Setting Xcode version\r\n2015-03-31 12:55:41:814 - info: [debug] Setting iOS SDK Version\r\n2015-03-31 12:55:41:828 - info: [debug] Getting sdk version from xcrun with a timeout\r\n2015-03-31 12:55:41:834 - info: [debug] iOS SDK Version set to 8.2\r\n2015-03-31 12:55:41:834 - info: [debug] Not checking whether simulator is available since we're on a real device\r\n2015-03-31 12:55:41:835 - info: [debug] Detecting automation tracetemplate\r\n2015-03-31 12:55:41:843 - info: [debug] Not auto-detecting udid, running on sim\r\n2015-03-31 12:55:41:844 - info: [debug] Could not parse plist file (as binary) at /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/submodules/SafariLauncher/build/Release-iphoneos/SafariLauncher.app/en.lproj/Localizable.strings\r\n2015-03-31 12:55:41:845 - info: Will try to parse the plist file as XML\r\n2015-03-31 12:55:41:845 - info: [debug] Could not parse plist file (as XML) at /var/folders/xn/zxrl7n3x6vd33s2_mt6b696c0000gn/T/115231-887-3ys8yi/submodules/SafariLauncher/build/Release-iphoneos/SafariLauncher.app/en.lproj/Localizable.strings\r\n2015-03-31 12:55:41:845 - warn: Could not parse app Localizable.strings assuming it doesn't exist\r\n2015-03-31 12:55:41:845 - info: [debug] Creating instruments\r\n2015-03-31 12:55:41:847 - info: [debug] Preparing uiauto bootstrap\r\n2015-03-31 12:55:41:848 - info: [debug] Dynamic bootstrap dir: /Users/qa/Library/Application Support/appium/bootstrap\r\n2015-03-31 12:55:41:848 - info: [debug] Dynamic env: {\"nodePath\":\"/usr/local/bin/node\",\"commandProxyClientPath\":\"/Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/appium-uiauto/bin/command-proxy-client.js\",\"instrumentsSock\":\"/tmp/instruments_sock\",\"interKeyDelay\":null,\"justLoopInfinitely\":false,\"autoAcceptAlerts\":false,\"autoDismissAlerts\":false,\"sendKeyStrategy\":\"grouped\"}\r\n...5-03-31 12:55:41:853 - info: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!\r\n2015-03-31 12:55:41:853 - info: [debug] Dynamic bootstrap path: /Users/qa/Library/Application Support/appium/bootstrap/bootstrap-62bba7ccd62cb101.js\r\n2015-03-31 12:55:41:855 - info: [debug] Reusing dynamic bootstrap: /Users/qa/Library/Application Support/appium/bootstrap/bootstrap-62bba7ccd62cb101.js\r\n2015-03-31 12:55:41:856 - info: [debug] Getting device string from opts: {\"forceIphone\":false,\"forceIpad\":false,\"xcodeVersion\":\"6.2\",\"iOSSDKVersion\":\"8.2\",\"deviceName\":\"iPad 1 mini\",\"platformVersion\":\"8.2\"}\r\n2015-03-31 12:55:41:856 - info: [debug] fixDevice is on\r\n2015-03-31 12:55:41:856 - info: [debug] Final device string is: 'iPad 1 mini (8.2 Simulator)'\r\n2015-03-31 12:55:41:857 - info: [debug] Not setting device type since we're on a real device\r\n2015-03-31 12:55:41:858 - info: [debug] Checking whether we need to set app preferences\r\n2015-03-31 12:55:41:858 - info: [debug] Not setting iOS and app preferences since we're on a real device\r\n2015-03-31 12:55:41:858 - info: [debug] Running ios sim reset flow\r\n2015-03-31 12:55:41:858 - info: [debug] Killing the simulator process\r\n2015-03-31 12:55:41:859 - info: [debug] Killall iOS Simulator\r\n2015-03-31 12:55:41:861 - info: [debug] Killing any other simulator daemons\r\n2015-03-31 12:55:41:883 - info: [debug] On a real device; cannot clean device state\r\n2015-03-31 12:55:41:884 - info: [debug] Not setting locale because we're using a real device\r\n2015-03-31 12:55:41:884 - info: [debug] No iOS / app preferences to set\r\n2015-03-31 12:55:41:885 - info: [debug] Starting iOS device log capture via deviceconsole\r\n2015-03-31 12:55:42:914 - info: --> GET /wd/hub/status {}\r\n2015-03-31 12:55:42:915 - info: [debug] Responding to client with success: {\"status\":0,\"value\":{\"build\":{\"version\":\"1.3.7\",\"revision\":\"84e84584042d0242704c8a98e92b87a7ac74ceda\"},\"isShuttingDown\":false},\"sessionId\":\"4dc50e61-1ea1-457b-8416-b862afd89cfa\"}\r\n2015-03-31 12:55:42:916 - info: <-- GET /wd/hub/status 200 1.444 ms - 178 {\"status\":0,\"value\":{\"build\":{\"version\":\"1.3.7\",\"revision\":\"84e84584042d0242704c8a98e92b87a7ac74ceda\"},\"isShuttingDown\":false},\"sessionId\":\"4dc50e61-1ea1-457b-8416-b862afd89cfa\"}\r\n2015-03-31 12:55:42:986 - info: [debug] Not pre-launching simulator\r\n2015-03-31 12:55:42:988 - error: Unhandled error: TypeError: Cannot read property 'isInstalled' of undefined\r\n    at IOS.isAppInstalled (/Users/qa/automation/apps/appium/newAppiumGit/appium/lib/devices/ios/ios.js:1473:20)\r\n    at Safari.installToRealDevice (/Users/qa/automation/apps/appium/newAppiumGit/appium/lib/devices/ios/safari.js:118:10)\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:610:21\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:249:17\r\n    at iterate (/Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:149:13)\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:160:25\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:251:21\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:615:34\r\n    at IOS.prelaunchSimulator (/Users/qa/automation/apps/appium/newAppiumGit/appium/lib/devices/ios/ios.js:1191:12)\r\n    at /Users/qa/automation/apps/appium/newAppiumGit/appium/node_modules/async/lib/async.js:610:21 context: [POST /wd/hub/session {\"desiredCapabilities\":{\"newCommandTimeout\":60,\"app\":\"Safari\",\"platformVersion\":\"8.2\",\"javascriptEnabled\":\"true\",\"elementScrollBehavior\":\"elementScrollBehavior\",\"deviceName\":\"iPad 1 mini\",\"platformNam]\r\n2015-03-31 12:55:48:087 - info: --> GET /wd/hub/status {}\r\n2015-03-31 12:55:48:088 - info: [debug] Responding to client with success: {\"status\":0,\"value\":{\"build\":{\"version\":\"1.3.7\",\"revision\":\"84e84584042d0242704c8a98e92b87a7ac74ceda\"},\"isShuttingDown\":false},\"sessionId\":\"4dc50e61-1ea1-457b-8416-b862afd89cfa\"}\r\n\r\n\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/appium/appium/issues/comments/88409891","html_url":"https://github.com/appium/appium/issues/4819#issuecomment-88409891","issue_url":"https://api.github.com/repos/appium/appium/issues/4819","id":88409891,"user":{"login":"ivasylchenko","id":1736966,"avatar_url":"https://avatars.githubusercontent.com/u/1736966?v=3","gravatar_id":"","url":"https://api.github.com/users/ivasylchenko","html_url":"https://github.com/ivasylchenko","followers_url":"https://api.github.com/users/ivasylchenko/followers","following_url":"https://api.github.com/users/ivasylchenko/following{/other_user}","gists_url":"https://api.github.com/users/ivasylchenko/gists{/gist_id}","starred_url":"https://api.github.com/users/ivasylchenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivasylchenko/subscriptions","organizations_url":"https://api.github.com/users/ivasylchenko/orgs","repos_url":"https://api.github.com/users/ivasylchenko/repos","events_url":"https://api.github.com/users/ivasylchenko/events{/privacy}","received_events_url":"https://api.github.com/users/ivasylchenko/received_events","type":"User","site_admin":false},"created_at":"2015-04-01T09:19:42Z","updated_at":"2015-04-01T09:19:42Z","body":"Same issue with following capabilities:\r\n```javascript\r\nprivate static WebDriver createIOSDriver(Device iOSDevice) {\r\n        DesiredCapabilities capabilities = new DesiredCapabilities();\r\n        capabilities.setCapability(\"platfromName\", \"iOS\");\r\n        capabilities.setCapability(\"browserName\", \"Safari\");\r\n        capabilities.setCapability(\"autoWebview\", true);\r\n        capabilities.setCapability(\"deviceName\", iOSDevice.getName());\r\n        capabilities.setCapability(\"platfromVersion\", iOSDevice.getVersion());\r\n        capabilities.setCapability(\"udid\", iOSDevice.getSerial());\r\n\r\n        IOSDriver driver = new IOSDriver(getUrl(iOSDevice.getRemote()), capabilities);\r\n        return driver;\r\n    }\r\n```"}}