[Bug]: Local plugins within the native iOS project are showing as "not implemented." after upgrading to Capacitor 6
jchri853 opened this issue Β· comments
Capacitor Version
π Capacitor Doctor π
Latest Dependencies:
@capacitor/cli: 6.0.0
@capacitor/core: 6.0.0
@capacitor/android: 6.0.0
@capacitor/ios: 6.0.0
Installed Dependencies:
@capacitor/android: not installed
@capacitor/cli: 6.0.0
@capacitor/core: 6.0.0
@capacitor/ios: 6.0.0
[success] iOS looking great! π
Other API Details
node - v18.14.2
npm - 9.5.0
Platforms Affected
- iOS
- Android
- Web
Current Behavior
I integrate over 10 in-house capacitor plugins into my iOS native app. These plugins are managed within a designated folder named 'Capacitor Plugins' (.m / .swift files) and seamlessly bridged with my Ionic/Angular hybrid app
In my Ionic app, I utilize these plugins to retrieve data from the native iOS app. However, after upgrading from Capacitor 5 to 6, all these plugins are now showing as 'unimplemented.'
Expected Behavior
Plugins should work the same as they did using capacitor 5.7.5
Project Reproduction
https://github.com/jchri853/cap6-ios-bug
Additional Information
App should display the following prompt under capacitor 5 and 6 using the apprater plugin. Instead the demo project reports
β‘οΈ WebView loaded
β‘οΈ To Native -> App addListener 54677256
β‘οΈ To Native -> Keyboard getResizeMode 54677257
β‘οΈ TO JS {"mode":"native"}
β‘οΈ [error] - ERROR {"code":"UNIMPLEMENTED"}
Got this as well
closing as duplicate of ionic-team/capacitor-docs#275
Capacitor 6 removes automatic plugin registration on iOS, for NPM plugins we can get the classes and register them programmatically, but for custom code you have to call register yourself, see https://capacitorjs.com/docs/ios/custom-code#register-the-plugin