From e5c8967ea913b1eba2db330f22173ec5a9ad53a9 Mon Sep 17 00:00:00 2001 From: Sylvain Bettinelli Date: Tue, 22 Sep 2026 08:15:41 +0000 Subject: [PATCH] =?UTF-8?q?SceneDelegate.swift=20enregistr=C3=A9=20dans=20?= =?UTF-8?q?le=20target=20App?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sans cette entrée, Xcode ne compile pas le fichier et SceneDelegate.self reste introuvable : l'app ne démarrerait pas davantage qu'avant la migration. Fait avec la bibliothèque `xcode` que Capacitor utilise lui-même pour cette opération (addSwiftFileToAppTarget), pas à la main. Essai à blanc d'abord pour confirmer la cible : getFirstTarget() rend bien « App » et non l'un des trois autres targets (CoachWatch, CoachWatchWidgetsExtension, CoachLiveActivity). Deux retouches après coup : - la bibliothèque écrivait `explicitFileType = undefined` sur la référence. explicitFileType prime sur la détection automatique, et cette valeur aurait pu empêcher Xcode de reconnaître le fichier comme du Swift. Normalisé au format exact d'AppDelegate.swift, ligne pour ligne ; - elle a reformaté le groupe synchronisé CoachWatchWidgets de sa forme compacte vers le format multi-lignes. Vérifié champ par champ : même isa, même UUID d'exception, mêmes explicitFileTypes et explicitFolders vides, même path. Reformatage pur, aucune perte. Intégrité vérifiée en comparant les deux fichiers parsés, objet par objet : hors nos deux ajouts, aucune autre différence. Le groupe App passe de 28 à 29 enfants et la phase Sources de 20 à 21 fichiers, avec zéro retrait de part et d'autre. Le projet se reparse et les quatre targets sont intacts. Co-Authored-By: Claude Opus 5 (1M context) --- ios/App/App.xcodeproj/project.pbxproj | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 462be68..336b67c 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -68,6 +68,7 @@ E547F675B2F61C3475D2A787 /* LiveActivityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B93DA6B121E94B11DF938C90 /* LiveActivityManager.swift */; }; F1ABCDEF0123456789AB0001 /* CoachHealthRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1ABCDEF0123456789AB0002 /* CoachHealthRoute.swift */; }; F1ABCDEF0123456789AB0003 /* CoachSleep.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1ABCDEF0123456789AB0004 /* CoachSleep.swift */; }; + 60BB59C4096F4C8EB22DE183 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B82F240520FD4C6CB4A80522 /* SceneDelegate.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -190,6 +191,7 @@ F1ABCDEF0123456789AB0004 /* CoachSleep.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoachSleep.swift; sourceTree = ""; }; F6BEAEF6F6274D61CAF22636 /* CoachWatchApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CoachWatchApp.swift; sourceTree = ""; }; FBFCA969A1B083CD3178D9B2 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B82F240520FD4C6CB4A80522 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ @@ -203,7 +205,18 @@ /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - 880A76D4302B601000F582D5 /* CoachWatchWidgets */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (880A76E2302B601100F582D5 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = CoachWatchWidgets; sourceTree = ""; }; + 880A76D4302B601000F582D5 /* CoachWatchWidgets */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 880A76E2302B601100F582D5 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, + ); + explicitFileTypes = { + }; + explicitFolders = ( + ); + path = CoachWatchWidgets; + sourceTree = ""; + }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ @@ -322,6 +335,7 @@ 6030BD533EBC2D1D26DB9479 /* LiveStore.swift */, 340B99D5EA4DB985D7DFDA10 /* CoachLiveView.swift */, B93DA6B121E94B11DF938C90 /* LiveActivityManager.swift */, + B82F240520FD4C6CB4A80522 /* SceneDelegate.swift */, ); path = App; sourceTree = ""; @@ -577,6 +591,7 @@ 548F8BFA06417B35474BD69E /* CoachLiveView.swift in Sources */, D1384CFA4960060CDBF05FC3 /* CoachLiveActivityAttributes.swift in Sources */, E547F675B2F61C3475D2A787 /* LiveActivityManager.swift in Sources */, + 60BB59C4096F4C8EB22DE183 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };