[iOS] Cordova Plugin + Native Framework

Muhammad Alfiansyah
3 min readSep 24, 2023

--

Apache Cordova

Minggu lalu setelah seminggu dipindah tugaskan ke divisi lain dan kembali ke dunia programming, bekerja kembali menjadi seorang programmer walaupun setelah 2 minggu kembali menjadi programmer, akhirnya mulai kangen dengan pekerjaan sebelumnya :D. Walaupun bukan sebuah pekerjaan menyenangkan tapi ngangenin.

Oke …minggu lalu diberikan kesempatan untuk implementasi iOS native framework ke Apache Cordova. Setelah melakukan research akhirnya pada kesempatan kali ini bisa melakukan update artikel yang sudah lama sekali tidak ada kabarnya.

Untuk mengembed iOS native framework ke Apache Cordova sebenarnya tidak beda dengan cara embed framework biasa ke xcode project, hanya saja kita perlu membuat sebuah plugin untuk memanggil method framework tersebut ke Javascript di Apache Cordova.

Pre-Request

  • Node
  • Xcode
  • Apache Cordova
  • Cocoapods
  • Plugman

Step

  • Install Apache Cordova
$ npm install -g cordova
  • Buat sebuah aplikasi dengan Apache Cordova
$ cordova create MyApp
  • Menambahkan iOS platform ke Apache Cordova App
$ cd MyApp

$ cordova platform add ios
  • Oke Apache Cordova dengan platform iOS sudah dibuat selanjutnya kita buat Cordova Plugin terlebih dahulu, install Plugman
$ npm install -g plugman
  • Create DemoPlugin
$ plugman create --name DemoPlugin --plugin_id cordova-plugin-demoplugin --plugin_version 1.0te
  • Create Plugin untuk iOS platform
$ cd DemoPlugin
$ plugman platform add --platform_name ios
  • Menambahkan package.json file
$ npm init
  • Plugin selesai dibuat, selanjutnya kita perlu menambahkan framework ke project iOS kita, buka folder MyApp/platforms/ios
Apache Cordova iOS
  • Buka *.xcworkspace file
  • Tarik .framework yang ingin ditambahkan, disini kita menambahkan CryptoSwift.framework dan LivenessCapture.framework
Menambahkan Framework ke Xcode project
  • Pada Tab General ubah Embed mode ke Embed & Sign
Embed Mode
  • Penambahan atau Embed Framework Done
  • Selanjutnya memanggil Framework dari Plugin, Buka DemoPlugin dengan menggunakan VSCode atau editor lain
Edit Base DemoPlugin
  • Edit clobbers jadi DemoPlugin agar tidak terlalu panjang
Edit clobbers
  • Import framework yang akan dipanggil dari Apache Cordova, disini framework yang akan kita import adalah
#import "LivenessCapture/LivenessCapture-Swift.h"
DemoPlugin
  • Implementasi Method yang ada pada framework, seperti diatas
  • DemoPlugin Done, selanjutnya kita panggil Plugin dari Apache Cordova Javascript
  • Kita tambahkan Plugin ke iOS platform kita dulu, masuk ke MyApp/platforms/ios
$ cordova plugin add ../../DemoPlugin
$ cordova plugin list
  • Penambahan Plugin di iOS Platform Done
  • Memanggil DemoPlugin dari Apache Cordova Javascript
Memanggil DemoPlugin dari Cordova
  • Run Aplikasi pada Real Device atau Simulator
  • DoneAplikasi Running Well !!!!!!!!!!!

--

--