Skip to content

Commit 55db065

Browse files
FatmeFatme
authored andcommitted
Merge pull request #12 from telerik/fatme/detect-devices-for-different-sdk-versions
Detect devices for different sdk versions
2 parents c49419e + a4f3786 commit 55db065

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

lib/iphone-simulator-xcode-6.ts

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,14 @@ import errors = require("./errors");
44
import options = require("./options");
55
import utils = require("./utils");
66
import util = require("util");
7+
import os = require("os");
78
var $ = require("NodObjC");
89

910
export class XCode6Simulator implements ISimulator {
1011

1112
private static DEVICE_IDENTIFIER_PREFIX = "com.apple.CoreSimulator.SimDeviceType";
1213
private static DEFAULT_DEVICE_IDENTIFIER = "iPhone-4s";
1314

14-
private static allowedDeviceIdentifiers = [
15-
"iPhone-4s",
16-
"iPhone-5",
17-
"iPhone-5s",
18-
"iPhone-6",
19-
"iPhone-6-Plus",
20-
"Resizable-iPhone",
21-
"iPad-2",
22-
"iPad-Retina",
23-
"iPad-Air",
24-
"Resizable-iPad"
25-
];
2615

2716
private availableDevices: IDictionary<IDevice>;
2817

@@ -31,7 +20,29 @@ export class XCode6Simulator implements ISimulator {
3120
}
3221

3322
public get validDeviceIdentifiers(): string[] {
34-
return XCode6Simulator.allowedDeviceIdentifiers;
23+
var simDeviceSet = $.classDefinition.getClassByName("SimDeviceSet");
24+
var devicesInfo: string[] = [];
25+
26+
if(simDeviceSet) {
27+
var deviceSet = simDeviceSet("defaultSet");
28+
var devices = deviceSet("availableDevices");
29+
30+
var count = devices("count");
31+
for(var index=0; index < count; index++) {
32+
var device = devices("objectAtIndex", index);
33+
34+
var deviceIdentifier = device("deviceType")("identifier").toString();
35+
var deviceIdentifierPrefixIndex = deviceIdentifier.indexOf(XCode6Simulator.DEFAULT_DEVICE_IDENTIFIER);
36+
var deviceIdentifierWithoutPrefix = deviceIdentifier.substring(deviceIdentifierPrefixIndex + XCode6Simulator.DEVICE_IDENTIFIER_PREFIX.length + 2);
37+
38+
var runtimeVersion = device("runtime")("versionString").toString();
39+
var deviceInfo = [util.format("Device Identifier: %s", deviceIdentifierWithoutPrefix),
40+
util.format("Runtime Version: %s", runtimeVersion)].join(os.EOL);
41+
devicesInfo.push(deviceInfo + os.EOL);
42+
}
43+
}
44+
45+
return devicesInfo;
3546
}
3647

3748
public setSimulatedDevice(config: any): void {

0 commit comments

Comments
 (0)