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
|
#endif
|
||||||
|
|
||||||
@objc(CoachWorkoutKitPlugin)
|
@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) {
|
@objc func isAvailable(_ call: CAPPluginCall) {
|
||||||
if #available(iOS 17.0, *) {
|
if #available(iOS 17.0, *) {
|
||||||
|
|||||||
Reference in New Issue
Block a user