From d9c57c26f132a3e9f2dacf618f70ab83f3857741 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 27 Aug 2025 10:18:24 +0200 Subject: [PATCH 01/10] Fix destination in buildProject Fix: Fix destination in buildProject when running with device arg but no specific UDID or args.destination --- .../src/commands/buildCommand/buildProject.ts | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index 4f68b6215..e9ce204ef 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -39,17 +39,35 @@ export function buildProject( args: BuildFlags, ): Promise { return new Promise((resolve, reject) => { - const simulatorDest = simulatorDestinationMap?.[platform]; - - if (!simulatorDest) { - reject( - new CLIError( - `Unknown platform: ${platform}. Please, use one of: ${Object.values( - supportedPlatforms, - ).join(', ')}.`, - ), - ); - return; + const isDevice = args.device; + let destination = ''; + if (udid) { + destination = `id=${udid}`; + } else if (isDevice) { + destination = 'generic/platform=iOS'; + } else if (mode === 'Debug') { + const simulatorDest = + simulatorDestinationMap.simulatorDestinationMap === null || + simulatorDestinationMap.simulatorDestinationMap === void 0 + ? void 0 + : simulatorDestinationMap.simulatorDestinationMap[platform]; + if (!simulatorDest) { + reject( + new CLIError( + `Unknown platform: ${platform}. Please, use one of: ${Object.values( + supportedPlatforms, + ).join(', ')}.`, + ), + ); + return; + } + destination = `generic/platform=${simulatorDest}`; + } else { + destination = `generic/platform=${platform}`; + } + + if (args.destination) { + destination += `,${args.destination}`; } const xcodebuildArgs = [ @@ -62,12 +80,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) { From f89a4674e438966c521ea42beafbde66e38ec58b Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 27 Aug 2025 10:25:00 +0200 Subject: [PATCH 02/10] Fix: Add missing device build flag --- .../cli-platform-apple/src/commands/buildCommand/buildOptions.ts | 1 + 1 file changed, 1 insertion(+) 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) => { From 4b551d3e693d3ff49cb3d6c10ed00e2b336e8780 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 27 Aug 2025 10:25:38 +0200 Subject: [PATCH 03/10] Fix: Remove migrated device build flag --- packages/cli-platform-apple/src/commands/runCommand/createRun.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/cli-platform-apple/src/commands/runCommand/createRun.ts b/packages/cli-platform-apple/src/commands/runCommand/createRun.ts index a8ab42f67..dd2c1dda8 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; From 8065745cdbbf8da21b7c46dfd100c30b6a00613f Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 27 Aug 2025 10:39:28 +0200 Subject: [PATCH 04/10] Fix: JS copy-paste --- .../src/commands/buildCommand/buildProject.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index e9ce204ef..0dfda1b97 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -46,11 +46,7 @@ export function buildProject( } else if (isDevice) { destination = 'generic/platform=iOS'; } else if (mode === 'Debug') { - const simulatorDest = - simulatorDestinationMap.simulatorDestinationMap === null || - simulatorDestinationMap.simulatorDestinationMap === void 0 - ? void 0 - : simulatorDestinationMap.simulatorDestinationMap[platform]; + const simulatorDest = simulatorDestinationMap?.[platform]; if (!simulatorDest) { reject( new CLIError( From 297dc92a4589daa7e4d5e585914181722b305d82 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 19:25:21 +0200 Subject: [PATCH 05/10] Update buildProject.ts Review comment --- .../src/commands/buildCommand/buildProject.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index 0dfda1b97..beb56023c 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -39,6 +39,18 @@ export function buildProject( args: BuildFlags, ): Promise { return new Promise((resolve, reject) => { + const simulatorDest = simulatorDestinationMap?.[platform]; + if (!simulatorDest) { + reject( + new CLIError( + `Unknown platform: ${platform}. Please, use one of: ${Object.values( + supportedPlatforms, + ).join(', ')}.`, + ), + ); + return; + } + const isDevice = args.device; let destination = ''; if (udid) { @@ -46,17 +58,6 @@ export function buildProject( } else if (isDevice) { destination = 'generic/platform=iOS'; } else if (mode === 'Debug') { - const simulatorDest = simulatorDestinationMap?.[platform]; - if (!simulatorDest) { - reject( - new CLIError( - `Unknown platform: ${platform}. Please, use one of: ${Object.values( - supportedPlatforms, - ).join(', ')}.`, - ), - ); - return; - } destination = `generic/platform=${simulatorDest}`; } else { destination = `generic/platform=${platform}`; From 9dbdb98deff0170de10ebfa3f38d953088156df1 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 19:26:05 +0200 Subject: [PATCH 06/10] Update buildProject.ts newline --- .../cli-platform-apple/src/commands/buildCommand/buildProject.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index beb56023c..910ea3d5f 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -40,6 +40,7 @@ export function buildProject( ): Promise { return new Promise((resolve, reject) => { const simulatorDest = simulatorDestinationMap?.[platform]; + if (!simulatorDest) { reject( new CLIError( From 44f03fed1fe53bc1b9a173adf98e978e5938f2f7 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 19:26:39 +0200 Subject: [PATCH 07/10] Update buildProject.ts space --- .../src/commands/buildCommand/buildProject.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index 910ea3d5f..feb206f39 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -40,7 +40,7 @@ export function buildProject( ): Promise { return new Promise((resolve, reject) => { const simulatorDest = simulatorDestinationMap?.[platform]; - + if (!simulatorDest) { reject( new CLIError( From 754bd48849a2afa60d23d88efc85fd93b0674869 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 21:19:54 +0200 Subject: [PATCH 08/10] Update buildProject.ts fix lint --- .../src/commands/buildCommand/buildProject.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts index feb206f39..ba0293dab 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildProject.ts @@ -51,7 +51,7 @@ export function buildProject( ); return; } - + const isDevice = args.device; let destination = ''; if (udid) { @@ -63,7 +63,7 @@ export function buildProject( } else { destination = `generic/platform=${platform}`; } - + if (args.destination) { destination += `,${args.destination}`; } From 3323ff04a284264ecb68b08f2db46ba17ece39cf Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 21:46:14 +0200 Subject: [PATCH 09/10] Update getBuildSettings.ts fix lint --- .../src/commands/runCommand/getBuildSettings.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts b/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts index 15bb5cf2f..f1dbb93e1 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 - + 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; } From e071fdc3a6b058bcb0e6d6dcaa35f4c379d0e977 Mon Sep 17 00:00:00 2001 From: Jens Kuhr Hansen Date: Wed, 1 Oct 2025 21:53:35 +0200 Subject: [PATCH 10/10] Update getBuildSettings.ts fix lint --- .../src/commands/runCommand/getBuildSettings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts b/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts index f1dbb93e1..83aa64fcb 100644 --- a/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts +++ b/packages/cli-platform-apple/src/commands/runCommand/getBuildSettings.ts @@ -41,7 +41,7 @@ export async function getBuildSettings( .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];