코도바 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
 
egovframework/hyb3.9/hdev/imp/useclitools.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki