diff --git a/eng/pipelines/coreclr/templates/build-perf-sample-apps.yml b/eng/pipelines/coreclr/templates/build-perf-sample-apps.yml
index 65b6226093a10f..3d5d83b6dadc88 100644
--- a/eng/pipelines/coreclr/templates/build-perf-sample-apps.yml
+++ b/eng/pipelines/coreclr/templates/build-perf-sample-apps.yml
@@ -24,7 +24,7 @@ steps:
workingDirectory: $(Build.SourcesDirectory)/src/mono/sample/Android
displayName: Build HelloAndroid sample app
- ${{ if eq(parameters.osGroup, 'iOS') }}:
- - script: make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=True USE_LLVM=False
+ - script: make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=True USE_LLVM=False DEPLOY_AND_RUN=false
env:
DevTeamProvisioning: '-'
workingDirectory: $(Build.SourcesDirectory)/src/mono/sample/iOS
@@ -47,7 +47,7 @@ steps:
- script: rm -r -f $(Build.SourcesDirectory)/src/mono/sample/iOS/bin
workingDirectory: $(Build.SourcesDirectory)/src/mono/sample/iOS
displayName: Clean bindir
- - script: make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=True USE_LLVM=True
+ - script: make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=True USE_LLVM=True DEPLOY_AND_RUN=false
env:
DevTeamProvisioning: '-'
workingDirectory: $(Build.SourcesDirectory)/src/mono/sample/iOS
diff --git a/src/mono/sample/iOS/Makefile b/src/mono/sample/iOS/Makefile
index 34279c41d8187c..8148d6eeb6cd75 100644
--- a/src/mono/sample/iOS/Makefile
+++ b/src/mono/sample/iOS/Makefile
@@ -4,6 +4,7 @@ DOTNET := ../../../../dotnet.sh
USE_LLVM=true
AOT?=false
TARGET?=iOSSimulator
+DEPLOY_AND_RUN?=true
#If DIAGNOSTIC_PORTS is enabled, RUNTIME_COMPONENTS must also be enabled.
#If RUNTIME_COMPONENTS is enabled, DIAGNOSTIC_PORTS is optional.
@@ -31,6 +32,7 @@ run: clean appbuilder
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
'/p:RuntimeComponents="$(RUNTIME_COMPONENTS)"' \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
'/p:DiagnosticPorts="$(DIAGNOSTIC_PORTS)"'
run-sim: clean appbuilder
@@ -41,10 +43,12 @@ run-sim: clean appbuilder
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
'/p:RuntimeComponents="$(RUNTIME_COMPONENTS)"' \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
'/p:DiagnosticPorts="$(DIAGNOSTIC_PORTS)"'
build-appbundle: clean appbuilder
$(DOTNET) publish -c $(MONO_CONFIG) /p:TargetOS=$(TARGET) /p:TargetArchitecture=$(MONO_ARCH) \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
/p:UseLLVM=$(USE_LLVM) /p:ForceAOT=$(AOT) /bl \
run-catalyst:
@@ -52,6 +56,7 @@ run-catalyst:
-c $(MONO_CONFIG) \
/p:TargetOS=MacCatalyst \
/p:TargetArchitecture=$(MONO_ARCH) \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
/p:UseLLVM=False \
/p:ForceAOT=True
@@ -63,6 +68,7 @@ run-sim-interp: clean appbuilder
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
/p:MonoForceInterpreter=true \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
'/p:RuntimeComponents="$(RUNTIME_COMPONENTS)"' \
'/p:DiagnosticPorts="$(DIAGNOSTIC_PORTS)"'
@@ -72,6 +78,7 @@ run-catalyst-interp:
/p:TargetOS=MacCatalyst \
/p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=False \
+ '/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
/p:ForceAOT=True \
/p:MonoForceInterpreter=true
diff --git a/src/mono/sample/iOS/Program.csproj b/src/mono/sample/iOS/Program.csproj
index 471abcbbe69c81..8c3b217fc90911 100644
--- a/src/mono/sample/iOS/Program.csproj
+++ b/src/mono/sample/iOS/Program.csproj
@@ -5,6 +5,7 @@
$(NetCoreAppToolCurrent)
iOS
iOSSimulator
+ true
$(TargetOS.ToLower())-$(TargetArchitecture)
$(DefineConstants);CI_TEST
@@ -91,7 +92,7 @@
+ Condition="'$(ArchiveTests)' != 'true' and '$(DeployAndRun)' == 'true'">