[iOS] Cordova Plugin + Native Framework
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
- Buka *.xcworkspace file
- Tarik .framework yang ingin ditambahkan, disini kita menambahkan CryptoSwift.framework dan LivenessCapture.framework
- Pada Tab General ubah Embed mode ke Embed & Sign
- Penambahan atau Embed Framework Done
- Selanjutnya memanggil Framework dari Plugin, Buka DemoPlugin dengan menggunakan VSCode atau editor lain
- Edit clobbers jadi DemoPlugin agar tidak terlalu panjang
- Import framework yang akan dipanggil dari Apache Cordova, disini framework yang akan kita import adalah
#import "LivenessCapture/LivenessCapture-Swift.h"
- 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
- Run Aplikasi pada Real Device atau Simulator
- Done …Aplikasi Running Well !!!!!!!!!!!