Cause définitive identifiée après plusieurs tentatives CSS/JS vaines :
WKWebView a un scrollView.backgroundColor blanc par défaut, exposé
lors du bounce iOS quand on pulle au sommet ou pousse en bas. Aucune
propriété CSS (overscroll-behavior, background body/html) ne peut le
changer car c'est une couche native UIKit AU-DESSUS du DOM.
Fix : override viewDidLoad() de MainViewController pour set :
- view.backgroundColor = .black
- webView.isOpaque = false
- webView.backgroundColor = .black
- webView.scrollView.backgroundColor = .black
Rebuild Xcode + push sur l'iPhone requis pour appliquer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Capacitor 8 n'auto-découvre PAS les plugins in-app (définis dans le
target App, pas en npm package). Faut les passer explicitement à
bridge.registerPluginInstance() dans MainViewController.capacitorDidLoad().
Le commentaire du fichier expliquait déjà la règle, mais on l'avait
oubliée pour CoachHealthRoute → window.Capacitor.Plugins.CoachHealthRoute
restait undefined.
Capacitor 8 n'auto-découvre pas les plugins in-app Swift (qui ne sont pas
des npm packages). Les plugins définis dans le target App doivent être
enregistrés manuellement via une sous-classe de CAPBridgeViewController
qui override capacitorDidLoad().
Ajouts :
- ios/App/App/MainViewController.swift : sous-classe qui registers
CoachWorkoutKitPlugin() dans capacitorDidLoad()
- Main.storyboard : customClass pointe sur MainViewController (module
'App' target) au lieu de CAPBridgeViewController (module Capacitor)
- project.pbxproj : 4 entrées pour MainViewController.swift (BuildFile,
FileReference, group, Sources phase)
Après rebuild, Capacitor.Plugins.CoachWorkoutKit sera dispo en JS.