fix : conform CAPBridgedPlugin pour exposer le plugin au JS bridge

Capacitor 8 requiert que les plugins implémentent CAPBridgedPlugin pour
déclarer explicitement identifier + jsName + pluginMethods. Sans ça,
registerPluginInstance() registre l'instance mais le bridge ne sait pas
quelles méthodes exposer → Capacitor.Plugins.CoachWorkoutKit reste
undefined côté WebView.

Avec ce fix : Capacitor.Plugins.CoachWorkoutKit dispo en JS, avec
méthodes isAvailable() et sendInterval() callable.
This commit is contained in:
Sylvain Bettinelli
2026-05-08 10:08:13 +00:00
parent 83b5260bc1
commit b98e47f17a

View File

@@ -29,7 +29,16 @@ import HealthKit
#endif
@objc(CoachWorkoutKitPlugin)
public class CoachWorkoutKitPlugin: CAPPlugin {
public class CoachWorkoutKitPlugin: CAPPlugin, CAPBridgedPlugin {
// CAPBridgedPlugin : déclaration explicite du contrat plugin pour
// Capacitor 8. Sans ça, registerPluginInstance() expose pas les
// méthodes au JS bridge (Capacitor.Plugins.CoachWorkoutKit reste undefined).
public let identifier = "CoachWorkoutKitPlugin"
public let jsName = "CoachWorkoutKit"
public let pluginMethods: [CAPPluginMethod] = [
CAPPluginMethod(name: "isAvailable", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "sendInterval", returnType: CAPPluginReturnPromise),
]
@objc func isAvailable(_ call: CAPPluginCall) {
if #available(iOS 17.0, *) {