diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts index c3cb54a42..303431e4e 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts @@ -13,6 +13,7 @@ export type BuildFlags = { extraParams?: string[]; forcePods?: boolean; onlyPods?: boolean; + device?: string | true; }; export const getBuildOptions = ({platformName}: BuilderCommand) => { diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index 4f68b6215..ba0293dab 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -52,6 +52,22 @@ export function buildProject( return; } + const isDevice = args.device; + let destination = ''; + if (udid) { + destination = `id=${udid}`; + } else if (isDevice) { + destination = 'generic/platform=iOS'; + } else if (mode === 'Debug') { + destination = `generic/platform=${simulatorDest}`; + } else { + destination = `generic/platform=${platform}`; + } + + if (args.destination) { + destination += `,${args.destination}`; + } + const xcodebuildArgs = [ xcodeProject.isWorkspace ? '-workspace' : '-project', xcodeProject.name, @@ -62,12 +78,7 @@ export function buildProject( '-scheme', scheme, '-destination', - (udid - ? `id=${udid}` - : mode === 'Debug' - ? `generic/platform=${simulatorDest}` - : `generic/platform=${platform}`) + - (args.destination ? ',' + args.destination : ''), + destination, ]; if (args.extraParams) { diff --git a/packages/cli-platform-apple/src/commands/runCommand/createRun.ts b/packages/cli-platform-apple/src/commands/runCommand/createRun.ts index d07165a54..9c47f2ab0 100644 --- a/packages/cli-platform-apple/src/commands/runCommand/createRun.ts +++ b/packages/cli-platform-apple/src/commands/runCommand/createRun.ts @@ -39,7 +39,6 @@ import openApp from './openApp'; export interface FlagsT extends BuildFlags { simulator?: string; - device?: string | true; udid?: string; binaryPath?: string; listDevices?: boolean; diff --git a/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts b/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts index 15bb5cf2f..83aa64fcb 100644 --- a/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts +++ b/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts @@ -38,17 +38,13 @@ export async function getBuildSettings( // Find all 'app' targets in the build settings const applicationTargets = settings - .filter( - (setting: any) => - setting.buildSettings.WRAPPER_EXTENSION === - 'app', - ) + .filter((setting: any) => setting.buildSettings.WRAPPER_EXTENSION === 'app') .map(({target: settingsTarget}: any) => settingsTarget); - if (applicationTargets.length === 0) return null - + if (applicationTargets.length === 0) return null; + let selectedTarget = applicationTargets[0]; - + if (target) { if (!applicationTargets.includes(target)) { logger.info( @@ -60,7 +56,7 @@ export async function getBuildSettings( selectedTarget = target; } } - + const targetIndex = applicationTargets.indexOf(selectedTarget); return settings[targetIndex].buildSettings; }