From 0d34908f4fdf4ec0ba2ecf9b178aef60a7076fe7 Mon Sep 17 00:00:00 2001 From: Sylvain Bettinelli Date: Fri, 25 Sep 2026 07:02:29 +0000 Subject: [PATCH] Runbook : la cible watchOS s'appelle CoachWatchWidgetsExtension, pas CoachWatchWidgets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vérifié dans project.pbxproj avant d'envoyer Sylvain dans Xcode : les quatre cibles réelles sont App, CoachLiveActivity, CoachWatch et CoachWatchWidgetsExtension. Le runbook donnait le nom du DOSSIER (CoachWatchWidgets) pour celui de la cible — il aurait cherché un intitulé inexistant dans l'inspecteur de Target Membership, à l'étape précisément décrite comme celle qui décide de tout. Co-Authored-By: Claude Opus 5 (1M context) --- docs/siri-et-widget-watch-runbook-mac.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/siri-et-widget-watch-runbook-mac.md b/docs/siri-et-widget-watch-runbook-mac.md index c38c2a0..17b2307 100644 --- a/docs/siri-et-widget-watch-runbook-mac.md +++ b/docs/siri-et-widget-watch-runbook-mac.md @@ -3,6 +3,12 @@ **Écrit le 25/09/2026, depuis Linux.** Le code Swift est committé ; il reste les étapes Xcode, qui ne peuvent pas se faire d'ici. +> ⚠️ **Nom des cibles, vérifié le 25/09** : la cible watchOS s'appelle +> **`CoachWatchWidgetsExtension`** — le DOSSIER, lui, s'appelle +> `CoachWatchWidgets`. Ce runbook disait d'abord le nom du dossier ; corrigé. +> Les quatre cibles réelles : `App`, `CoachLiveActivity`, `CoachWatch`, +> `CoachWatchWidgetsExtension`. + > ⛔ **Rien de ce code n'a été compilé.** `AppIntents`, `WidgetKit` et `SwiftUI` > sont des frameworks Apple, absents de Swift pour Linux — le CLAUDE.md de ce > dépôt le dit. Ce qui a été vérifié à la place, par lecture croisée des @@ -39,7 +45,7 @@ Xcode ouvert). ### 1. Target Membership — c'est l'étape qui décide de tout -| Fichier | App | CoachLiveActivity | CoachWatchWidgets | +| Fichier | App | CoachLiveActivity | CoachWatchWidgetsExtension | |---|:--:|:--:|:--:| | `CoachIntents.swift` | ✅ | ✅ | ✅ | | `CoachAppShortcuts.swift` | ✅ | ❌ | ❌ | @@ -51,12 +57,12 @@ Xcode ouvert). seul `AppShortcutsProvider` par application ; un second dans une extension produirait au mieux un doublon. -⚠️ **`CoachQuickLog.swift` doit être dans `CoachWatchWidgets`**, sinon le widget +⚠️ **`CoachQuickLog.swift` doit être dans `CoachWatchWidgetsExtension`**, sinon le widget de la montre compile mais n'écrit nulle part. Son en-tête le réclamait déjà. ### 2. Vérifier l'App Group sur la cible Watch -`group.ch.hypnotruck.coach` sur **CoachWatch** ET **CoachWatchWidgets**. +`group.ch.hypnotruck.coach` sur **CoachWatch** ET **CoachWatchWidgetsExtension**. Vérifié depuis Linux le 25/09 : les quatre `.entitlements` le portent et les `CODE_SIGN_ENTITLEMENTS` sont câblés. À reconfirmer dans Signing & Capabilities.