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.
17 lines
633 B
Swift
17 lines
633 B
Swift
// MainViewController.swift
|
|
// Sous-classe de CAPBridgeViewController pour enregistrer manuellement les
|
|
// plugins Capacitor in-app (i.e. plugins définis directement dans le target
|
|
// App, pas en npm package). Capacitor 8 n'auto-découvre pas ces plugins,
|
|
// faut les registrer ici dans capacitorDidLoad().
|
|
|
|
import UIKit
|
|
import Capacitor
|
|
|
|
class MainViewController: CAPBridgeViewController {
|
|
override func capacitorDidLoad() {
|
|
// Plugin natif WorkoutKit — pousse des workouts intervalles vers
|
|
// l'Apple Watch (cf. CoachWorkoutKit.swift).
|
|
bridge?.registerPluginInstance(CoachWorkoutKitPlugin())
|
|
}
|
|
}
|