Hi everyone,
I’m working on a Capacitor app built with Angular, and I’m trying to call a Swift class directly from the root of the iOS project (next to AppDelegate.swift) without using a full Capacitor plugin structure.
The Swift file is called RtspVlcPlugin.swift and looks like this:
import Capacitor
@objc(RtspVlcPlugin)
public class RtspVlcPlugin: CAPPlugin {
@objc func iniciar(_ call: CAPPluginCall) {
call.resolve()
}
}
In AppDelegate.swift I register it like this:
if let bridge = self.window?.rootViewController as? CAPBridgeViewController {
bridge.bridge?.registerPluginInstance(RtspVlcPlugin())
print("✅ RtspVlcPlugin registered.")
}
The registration message prints correctly in Xcode logs.
But from Angular, when I try to call it like this:
import { registerPlugin } from '@capacitor/core';
const RtspVlcPlugin: any = registerPlugin('RtspVlcPlugin');
RtspVlcPlugin.iniciar({ ... });
I get this error:
{"code":"UNIMPLEMENTED"}
So, even though the plugin is registered manually, it’s not exposing any methods to the Angular/Capacitor runtime.
My question is:
What is the correct way to access a manually created Swift class (in the root of the iOS project) from Angular via Capacitor?
Thanks in advance!
1
0
169