From e2399129886cff39b6d02bf3e7119992b798b001 Mon Sep 17 00:00:00 2001
From: Craig Reyenga <craig.reyenga@gmail.com>
Date: Sat, 15 Mar 2025 11:40:44 -0400
Subject: [PATCH 1/3] Fix existing build targets.

---
 Buildsystem/Testing/UI/VLCTestMenu.swift |  1 -
 VLC.xcodeproj/project.pbxproj            | 12 ++++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/Buildsystem/Testing/UI/VLCTestMenu.swift b/Buildsystem/Testing/UI/VLCTestMenu.swift
index 86caa920f..168d9e730 100644
--- a/Buildsystem/Testing/UI/VLCTestMenu.swift
+++ b/Buildsystem/Testing/UI/VLCTestMenu.swift
@@ -78,6 +78,5 @@ class VLCTestMenu: XCTestCase {
         helper.tapTabBarItem(VLCAccessibilityIdentifier.settings)
         app.navigationBars.buttons[VLCAccessibilityIdentifier.about].tap()
         XCTAssertNotNil(app.navigationBars.buttons[VLCAccessibilityIdentifier.done])
-        XCTAssertNotNil(app.navigationBars.buttons[VLCAccessibilityIdentifier.contribute])
     }
 }
diff --git a/VLC.xcodeproj/project.pbxproj b/VLC.xcodeproj/project.pbxproj
index 4f743280f..69280be35 100644
--- a/VLC.xcodeproj/project.pbxproj
+++ b/VLC.xcodeproj/project.pbxproj
@@ -5123,7 +5123,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				INFOPLIST_FILE = Buildsystem/Testing/Unit/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.4;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -5166,7 +5166,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				INFOPLIST_FILE = Buildsystem/Testing/Unit/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.4;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -5208,7 +5208,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				INFOPLIST_FILE = Buildsystem/Testing/Unit/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.4;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -5262,7 +5262,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				INFOPLIST_FILE = Buildsystem/Testing/UI/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -5316,7 +5316,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				INFOPLIST_FILE = Buildsystem/Testing/UI/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -5371,7 +5371,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				INFOPLIST_FILE = Buildsystem/Testing/UI/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
-- 
GitLab


From a2357cd53fe4bbfd4929ee4776ab5c1f4199540f Mon Sep 17 00:00:00 2001
From: Craig Reyenga <craig.reyenga@gmail.com>
Date: Sat, 15 Mar 2025 11:41:49 -0400
Subject: [PATCH 2/3] Re-order build targets.

---
 VLC.xcodeproj/project.pbxproj | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/VLC.xcodeproj/project.pbxproj b/VLC.xcodeproj/project.pbxproj
index 69280be35..16083119c 100644
--- a/VLC.xcodeproj/project.pbxproj
+++ b/VLC.xcodeproj/project.pbxproj
@@ -3634,10 +3634,10 @@
 			targets = (
 				7D94FCDA16DE7D1000F2623B /* VLC-iOS */,
 				7D13293C1BA1F10100BE647E /* VLC-tvOS */,
+				7D50C5D52BBD20DF00B9F1A0 /* VLC-visionOS */,
 				41B0BC851F73ED7D0063BA26 /* VLC-iOSUITests */,
-				41533C90211338D500EC3ABA /* VLC-iOSTests */,
 				4133CADB22CCB0620047A4EC /* VLC-iOS-Screenshots */,
-				7D50C5D52BBD20DF00B9F1A0 /* VLC-visionOS */,
+				41533C90211338D500EC3ABA /* VLC-iOSTests */,
 			);
 		};
 /* End PBXProject section */
-- 
GitLab


From ab2928a3803fc79160003ec8593bc49babc9a1aa Mon Sep 17 00:00:00 2001
From: Craig Reyenga <craig.reyenga@gmail.com>
Date: Sat, 15 Mar 2025 12:43:53 -0400
Subject: [PATCH 3/3] Prevent the app from launching when running unit tests.
 Minor scheme changes recommended by Xcode.

---
 Sources/App/iOS/main.m                              |  7 ++++++-
 .../Helpers/VLCAccessibilityIdentifier.swift        |  0
 VLC.xcodeproj/project.pbxproj                       | 13 +++++--------
 .../xcschemes/VLC-iOS-Screenshots.xcscheme          |  2 +-
 .../xcshareddata/xcschemes/VLC-iOS-Tests.xcscheme   | 11 ++++++++++-
 .../xcshareddata/xcschemes/VLC-iOS-UITests.xcscheme |  2 +-
 .../xcshareddata/xcschemes/VLC-iOS.xcscheme         |  2 +-
 .../xcshareddata/xcschemes/VLC-tvOS.xcscheme        |  2 +-
 .../xcshareddata/xcschemes/VLC-visionOS.xcscheme    |  2 +-
 9 files changed, 26 insertions(+), 15 deletions(-)
 rename {Buildsystem/Testing/UI => Sources}/Helpers/VLCAccessibilityIdentifier.swift (100%)

diff --git a/Sources/App/iOS/main.m b/Sources/App/iOS/main.m
index 3bee5576c..59e5092e4 100644
--- a/Sources/App/iOS/main.m
+++ b/Sources/App/iOS/main.m
@@ -17,6 +17,11 @@
 int main(int argc, char *argv[])
 {
     @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, NSStringFromClass([VLCAppDelegate class]));
+        // Avoid launching the app during testing.
+        if (NSClassFromString(@"XCTestCase") != nil) {
+            return UIApplicationMain(argc, argv, nil, nil);
+        } else {
+            return UIApplicationMain(argc, argv, nil, NSStringFromClass([VLCAppDelegate class]));
+        }
     }
 }
diff --git a/Buildsystem/Testing/UI/Helpers/VLCAccessibilityIdentifier.swift b/Sources/Helpers/VLCAccessibilityIdentifier.swift
similarity index 100%
rename from Buildsystem/Testing/UI/Helpers/VLCAccessibilityIdentifier.swift
rename to Sources/Helpers/VLCAccessibilityIdentifier.swift
diff --git a/VLC.xcodeproj/project.pbxproj b/VLC.xcodeproj/project.pbxproj
index 16083119c..d16cc9dc8 100644
--- a/VLC.xcodeproj/project.pbxproj
+++ b/VLC.xcodeproj/project.pbxproj
@@ -1899,6 +1899,7 @@
 			isa = PBXGroup;
 			children = (
 				419A2C651F37A4B70069D224 /* VLCStringsForLocalization.m */,
+				8DD6516E208C89BC0052EE68 /* VLCAccessibilityIdentifier.swift */,
 				4152F1611FEF19BD00F1908B /* KeychainCoordinator.swift */,
 				7D0C209A28C89F5400CCFFEF /* Network */,
 				7D8986D7278B0C30005396AA /* Thumbnail Cache */,
@@ -3321,7 +3322,6 @@
 		CAC0AFE720CF8A6900EDB035 /* Helpers */ = {
 			isa = PBXGroup;
 			children = (
-				8DD6516E208C89BC0052EE68 /* VLCAccessibilityIdentifier.swift */,
 				CAF76D9320709C9500E2AD7B /* XCUIElement+Helpers.swift */,
 				CAD925802075613100F88496 /* SnapshotHelper.swift */,
 				CAA0B0F620726A0E00B9274E /* TestHelper.swift */,
@@ -3515,7 +3515,7 @@
 				CLASSPREFIX = VLC;
 				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 1500;
-				LastUpgradeCheck = 1200;
+				LastUpgradeCheck = 1620;
 				ORGANIZATIONNAME = VideoLAN;
 				TargetAttributes = {
 					4133CADB22CCB0620047A4EC = {
@@ -5229,7 +5229,6 @@
 		41B0BC8D1F73ED7D0063BA26 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_ENABLE_MODULES = YES;
@@ -5282,7 +5281,6 @@
 		41B0BC8E1F73ED7D0063BA26 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_ENABLE_MODULES = YES;
@@ -5337,7 +5335,6 @@
 		41B0BC8F1F73ED7D0063BA26 /* Distribution */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_ENABLE_MODULES = YES;
@@ -5749,7 +5746,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				ONLY_ACTIVE_ARCH = YES;
 				OTHER_LDFLAGS = "-ObjC";
 				PRODUCT_MODULE_NAME = VLC;
@@ -5796,7 +5793,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
 				OTHER_LDFLAGS = "-ObjC";
 				PRODUCT_MODULE_NAME = VLC;
@@ -5945,7 +5942,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
 				OTHER_LDFLAGS = "-ObjC";
 				PRODUCT_MODULE_NAME = VLC;
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Screenshots.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Screenshots.xcscheme
index 1eb5789aa..a180085b7 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Screenshots.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Screenshots.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1200"
+   LastUpgradeVersion = "1620"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Tests.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Tests.xcscheme
index bc376ffeb..a62a24bdc 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Tests.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-Tests.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1200"
+   LastUpgradeVersion = "1620"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
@@ -51,6 +51,15 @@
       savedToolIdentifier = ""
       useCustomWorkingDirectory = "NO"
       debugDocumentVersioning = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "7D94FCDA16DE7D1000F2623B"
+            BuildableName = "VLC for iOS.app"
+            BlueprintName = "VLC-iOS"
+            ReferencedContainer = "container:VLC.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
    </ProfileAction>
    <AnalyzeAction
       buildConfiguration = "Debug">
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-UITests.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-UITests.xcscheme
index c87406302..ebda1aedf 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-UITests.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS-UITests.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1200"
+   LastUpgradeVersion = "1620"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS.xcscheme
index cbe0d72eb..b8947e0e7 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-iOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1200"
+   LastUpgradeVersion = "1620"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-tvOS.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-tvOS.xcscheme
index 9db00bc6a..1153195a2 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-tvOS.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-tvOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1200"
+   LastUpgradeVersion = "1620"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-visionOS.xcscheme b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-visionOS.xcscheme
index 7db1c2ab1..2f91af2ff 100644
--- a/VLC.xcodeproj/xcshareddata/xcschemes/VLC-visionOS.xcscheme
+++ b/VLC.xcodeproj/xcshareddata/xcschemes/VLC-visionOS.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1530"
+   LastUpgradeVersion = "1620"
    version = "1.7">
    <BuildAction
       parallelizeBuildables = "YES"
-- 
GitLab