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:
@@ -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, *) {
|
||||
|
||||
Reference in New Issue
Block a user