11.8.2023

Eigenes Capacitor Plugin mit nativem Swift Code für iOS

Benötigt werden 2 Swift Dateien:

ARPlugin.swift

import Capacitor

@objc(ARPlugin)
public class ARPlugin: CAPPlugin {
    @objc func open(_ call: CAPPluginCall) {
        DispatchQueue.main.async {
            let arViewController: ARViewController = UIStoryboard(name: "AugmentedReality", bundle: nil).instantiateInitialViewController()!
            arViewController.eventListeners = self.eventListeners!
            self.bridge?.viewController?.present(arViewController, animated: true, completion: nil)
        }
    }
}

Hier werden die Methoden geschrieben, die später aus dem Typescript Code heraus ausführbar sein sollen.

ARPlugin.m

#import <Capacitor/Capacitor.h>

CAP_PLUGIN(ARPlugin, "ARPlugin", CAP_PLUGIN_METHOD(open, CAPPluginReturnNone);)

Hier werden die Methoden bei Capacitor registriert.

In der Web App wird das Plugin dann so benutzt:

import { registerPlugin } from '@capacitor/core';

const ARPlugin = registerPlugin('ARPlugin')

await ARPlugin.open()

Quelle: Capacitor Docs - Custom Native iOS Code

Jonathan

Dualer Student

Zur Übersicht

Standort Hannover

newcubator GmbH
Bödekerstraße 22
30161 Hannover

Standort Dortmund

newcubator GmbH
Westenhellweg 85-89
44137 Dortmund