Hey there.
After updating to the new Xcode (Version 7.0) for iOS9 there seems to be a problem with the deviceName parameter.
I used to initiate the Emulator with the following string:
" --device-name “iPhone 6” --platform-name iOS --platform-version “8.4"”;
But it looks like the new Xcode sees only the “iPhone” part without the number and tells me that:
info: [debug] Getting device string from opts: {"forceIphone":false,"forceIpad":false,"xcodeVersion":"7.0","iOSSDKVersion":"9.0","deviceName":"iPhone 6","platformVersion":"8.4"}
info: [debug] fixDevice is on
info: [debug] Final device string is: 'iPhone (8.4 Simulator)'
error: Could not find a device to launch. You requested 'iPhone (8.4 Simulator)', but the available devices were: ["iPad 2 (8.3) [0F15A0D6-5659-4C1B-BF50-2490AE40E4DE]","iPad 2 (8.4) [B5771324-64B5-4A15-B0EE-15C34959E12E]","iPad 2 (9.0) [37DB11E8-0DAB-477C-AA09-34C4BEF23D2A]","iPad Air (8.3) [3F67BFCA-8866-40F6-9341-794494935BCB]","iPad Air (8.4) [D54D9A61-B9FF-419C-9E47-38D1AAC92936]","iPad Air (9.0) [87051661-63B1-47A4-8F63-97C76E626907]","iPad Air 2 (9.0) [BE90AE0D-8123-44AD-96E5-96BDDDDFD8BE]","iPad Retina (8.3) [DE7276C9-9584-4FC6-98D6-01ADE1379B76]","iPad Retina (8.4) [F4B95EA6-63D8-4C65-BA2D-880B83F8FCB1]","iPad Retina (9.0) [126DA587-41E9-4CF9-821D-0920BFACC6AB]","iPhone 4s (8.3) [20CC5AB9-398B-4051-98A0-4780B1B1C643]","iPhone 4s (8.4) [D216FFED-2650-405D-9E58-A26CDD1E1FF8]","iPhone 4s (9.0) [6CEC052D-0A46-4B1C-92D3-28883934B636]","iPhone 5 (8.3) [115E353A-97FF-4141-BD70-D45B2CA9642A]","iPhone 5 (8.4) [E26CA0D4-C255-4B97-868F-45FBF516F6F4]","iPhone 5 (9.0) [952DAFBD-4DAA-4FD2-9F0F-16CCC27236E0]","iPhone 5s (8.3) [CEC267DC-95E7-4D11-B1E4-BDE6009F4E24]","iPhone 5s (8.4) [99505BBC-3094-42A3-95F5-FD39A7638AB8]","iPhone 5s (9.0) [2F21E69D-3E24-4875-8021-8691BB203A40]","iPhone 6 (8.3) [3BC16EF3-1ED3-4658-8363-FF290597CAF4]","iPhone 6 (8.4) [A58894DC-8DF2-48B0-91B8-3706D06BEF3D]","iPhone 6 (9.0) [9DB6D41F-C4A6-4561-ACDE-7A533AFAEB26]","iPhone 6 (9.0) + Apple Watch - 38mm (2.0) [FD4BC4B1-6921-4223-BEBC-2DB70919668A]","iPhone 6 Plus (8.3) [E8D32B71-2F54-4035-BE00-1D2B6AD94B18]","iPhone 6 Plus (8.4) [8E915039-DCA9-4D03-B70D-43BDBA11ADC4]","iPhone 6 Plus (9.0) [2A65F274-73CF-490F-B242-4CE2FCA7442A]","iPhone 6 Plus (9.0) + Apple Watch - 42mm (2.0) [8516C558-A670-42BD-B078-6C014E385F35]","iPhone 6s (9.0) [9BC741FE-F959-4C23-8FA5-AAA383DF73FA]","iPhone 6s Plus (9.0) [32DB21ED-E416-4679-BA09-CDE1CDBD9866]"]
Anyone sees a similar behaviour? Did Apple change the way they receive the deviceName parameter?
Thank you very much for taking some time off your daily activities to assist me with my issue.
It’s always nice to see people giving back the community they are part of
I have the same issue. I am on 1.4.11 - It looks like appium is adding the “Simulator” and Xcode 7 removed the word “Simulator” from its emulator names.
Alright… tried doing just that and got the following error:
module.js:338
throw err;
^
Error: Cannot find module ‘argparse’
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (/Applications/Appium 1.4.11/lib/server/parser.js:2:10)
at Module._compile (module.js:460:26)
at Object.Module._extensions…js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
I have few queries regarding error given in description.
error: Could not find a device to launch. You requested ‘iPhone (8.4 Simulator)’, but the available devices were: [“iPad 2 (8.3) [0F15A0D6-5659-4C1B-BF50-2490AE40E4DE]”] …
Does iPhone (8.4 Simulator) is visible in your xcode if you manually build and launch your app ?
Does XCode 7 supports iPhone (8.4 Simulator) ?
Is it possible to try with devices which are available ?