목차

코도바 CLI 툴 사용하기

개요

Cordova (PhoneGap) 3.0이상 에서는 CLI툴을 이용하여 플랫폼을 관리할수 있도록 변경되었다.

설명

Cordova (PhoneGap) CLI로 프로젝트를 추가하고 플랫폼 및 코도바 플러그인을 관리 하는 방법에 대하여 알아본다.

프로젝트 추가

프로젝트 추가

첫번째 아규먼트 hello를 생성디렉토리이고, 두번째 아규먼트는 안드로이드는 기본 패키지명이며 아이폰은 Bundle ID가 된다. 세번째 아규먼트는 앱의 명칭으로 설정된다.

    $ cordova create hello com.example.hello HelloWorld

아규먼트 의미

cordova create arg1 arg2 arg3

  1. arg1 = 생성디렉토리
  2. arg2 = 안드로이드 기본 패키지명, 아이폰 Bundle ID ( 점(dot)를 사용하여 서술 )
  3. 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