====== 코도바 CLI 툴 사용하기 ======
===== 개요 =====
Cordova (PhoneGap) 3.0이상 에서는 CLI툴을 이용하여 플랫폼을 관리할수 있도록 변경되었다.
===== 설명 =====
Cordova (PhoneGap) CLI로 프로젝트를 추가하고 플랫폼 및 코도바 플러그인을 관리 하는 방법에 대하여 알아본다.
==== 프로젝트 추가 ====
=== 프로젝트 추가 ===
첫번째 아규먼트 hello를 생성디렉토리이고, 두번째 아규먼트는 안드로이드는 기본 패키지명이며 아이폰은 Bundle ID가 된다. 세번째 아규먼트는 앱의 명칭으로 설정된다.
$ cordova create hello com.example.hello HelloWorld
=== 아규먼트 의미 ===
cordova create arg1 arg2 arg3\\
- arg1 = 생성디렉토리
- arg2 = 안드로이드 기본 패키지명, 아이폰 Bundle ID ( 점(dot)를 사용하여 서술 )
- arg3 = 앱의 명칭
==== 코도바 (폰갭) 플러그인 권한 오류대응 ====
=== Mac OSX ===
Error: EACCES: permission denied, open '/Users/dcsc/.config/configstore/update-notifier-cordova.json'\\
You don't have access to this file.\\
위와 같은 오류가 발생한다면 sudo cordova plugin add ~~~와 같이 root권한을 사용한다. \\
==== 플랫폼 추가 ====
=== 플랫폼 추가 ===
cd 명령으로 프로젝트 디렉토리로 먼저 이동해야 한다.
$ cd hello
생성하고자 하는 플랫폼을 platform add아규먼트로 생성한다. 전자정부 표준프레임워크에서는 아이폰및 안드로이드를 지원한다.
$ cordova platform add ios
$ cordova platform add android
$ cordova platform add browser
$ cordova platform add osx
$ cordova platform add windows
설치한 플랫폼의 목록을 확인한다.
$ cordova platforms ls
삭제하고자 하는 플랫폼은 명령어로 삭제할수 있다.
$ cordova platform remove browser
$ cordova platform rm osx
$ cordova platform rm windows
==== 코도바 앱 빌드 ====
=== build 아규먼트는 해당 모바일 OS 플랫폼을 빌드한다.===
$ cordova build ios
=== prepare는 platforms/{os} 서브디렉토리에 코도바 코드를 생성하여 실행할수 있도록 준비한다.===
$ cordova prepare ios
$ cordova compile ios
==== 플러그인 추가 ====
=== 플러그인 검색 ===
$ cordova plugin search bar code
com.phonegap.plugins.barcodescanner - Scans Barcodes
== Basic device information (Device API):==
$ cordova plugin add cordova-plugin-device
== Network Connection and Battery Events:==
$ cordova plugin add cordova-plugin-network-information
$ cordova plugin add cordova-plugin-battery-status
== Accelerometer, Compass, and Geolocation:==
cordova-plugin-device-motion [DEPRECATED] : https://www.w3.org/TR/orientation-event/\\
cordova-plugin-device-orientation [DEPRECATED] : https://www.w3.org/TR/orientation-event/
$ cordova plugin add cordova-plugin-device-motion
$ cordova plugin add cordova-plugin-device-orientation
$ cordova plugin add cordova-plugin-geolocation
== Camera, Media playback and Capture:==
$ cordova plugin add cordova-plugin-camera
$ cordova plugin add cordova-plugin-media-capture
$ cordova plugin add cordova-plugin-media
== Access files on device or network (File API):==
$ cordova plugin add cordova-plugin-file
$ cordova plugin add cordova-plugin-file-transfer
== Notification via dialog box or vibration:==
$ cordova plugin add cordova-plugin-dialogs
$ cordova plugin add cordova-plugin-vibration
== Contacts:==
$ cordova plugin add cordova-plugin-contacts
== Globalization:==
$ cordova plugin add cordova-plugin-globalization
== Splashscreen:==
$ cordova plugin add cordova-plugin-splashscreen
== Open new browser windows (InAppBrowser):==
$ cordova plugin add cordova-plugin-inappbrowser
== Debug console:==
$ cordova plugin add cordova-plugin-console
== Whitelist:==
URL 접근제어 보안 플러그인으로 반드시 설치되어야 한다. ( Cordova 6.x버전 이상에서는 기본적으로 프로젝트 생성시 포함된다 )
$ cordova plugin add cordova-plugin-whitelist
== Push:==
$ cordova plugin add cordova-push-notifications
== file opener:==
$ cordova plugin add cordova-plugin-file-opener2
== StreamingMedia:==
$ cordova plugin add cordova-plugin-streaming-media
== barcodescanner:==
$ cordova plugin add cordova-plugin-barcodescanner
== JailbreakDetection:==
(iOS)
$ cordova plugin add cordova-plugin-jailbreak-detection
(Android)
$ cordova plugin add cordova-plugin-root-detection
== SQLite:==
$ cordova plugin add cordova-sqlite-storage
== SocketIO:==
$ cordova plugin add cordova-plugin-chrome-apps-sockets-tcp
== Permission:==
* iOS의 경우 Swift Language 기반 업데이트 소스 필요하며 다음 URL 참조가능 (가이드 프로그램 예제 에서도 적용 소스 참조 가능)\\
https://github.com/overpassion/cordova-plugin-permissionScope\\
https://github.com/overpassion/PermissionScope
(Android)
$ cordova plugin add cordova-plugin-android-permissions