====== 코도바 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