diff --git a/lib/services/init-service.ts b/lib/services/init-service.ts index 244053198e..fdf0cb73b3 100644 --- a/lib/services/init-service.ts +++ b/lib/services/init-service.ts @@ -16,7 +16,6 @@ export class InitService implements IInitService { private _projectFilePath: string; constructor(private $fs: IFileSystem, - private $errors: IErrors, private $logger: ILogger, private $options: IOptions, private $injector: IInjector, diff --git a/lib/services/platform-service.ts b/lib/services/platform-service.ts index 948c169c1c..3afe67c7f3 100644 --- a/lib/services/platform-service.ts +++ b/lib/services/platform-service.ts @@ -335,6 +335,11 @@ export class PlatformService implements IPlatformService { this.ensurePlatformInstalled(platform).wait(); let platformData = this.$platformsData.getPlatformData(platform); + this.$devicesService.initialize({platform: platform, deviceId: this.$options.device}).wait(); + if (this.$devicesService.deviceCount < 1) { + this.$errors.failWithoutHelp("Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again."); + } + let cachedDeviceOption = this.$options.forDevice; this.$options.forDevice = true; this.buildPlatform(platform, buildConfig).wait(); @@ -344,7 +349,6 @@ export class PlatformService implements IPlatformService { let packageFile = this.getLatestApplicationPackageForDevice(platformData).wait().packageName; this.$logger.out("Using ", packageFile); - this.$devicesService.initialize({platform: platform, deviceId: this.$options.device}).wait(); let action = (device: Mobile.IDevice): IFuture => { return (() => { platformData.platformProjectService.deploy(device.deviceInfo.identifier).wait();