===== 디바이스 API 가이드 프로그램 환경설정 =====
==== 하이브리드 어플리케이션 설정(Android) ====
=== 설정 ===
== res/xml/config.xml ==
* 폰갭 어플리케이션의 설정 정보들을 등록해주는 파일이다.
* 폰갭에서는 각 Device API 들을 Plug-in 형태로 제공하며 해당 Device API Plug-in 들을 plugins 타입 아래에 명시 해 주어야 한다.
* 전자정부용 웹 서버 어플리케이션과 인터페이스를 하기위해서는 EgovInterfacePlugin 을 추가 해 주어야 한다.
Hello Cordova
A sample Apache Cordova application that responds to the deviceready event.
Apache Cordova Team
== res/values/serverinfo.xml ==
* 전자정부 Interface 디바이스 API에서 사용하기 위한 서버경로를 설정 할 수 있다.
http://192.168.100.222:8080/DeviceAPIGuideTotal_Web_V1.7
== AndroidManifest.xml ==
* 모바일 디바이스 API 가이드 프로그램에서 디바이스 API를 사용 할 때의 모바일기기로의 접근 권한을 지정 한다.
==== 하이브리드 어플리케이션 설정(iOS) ====
=== 디렉토리 추가 및 설정 파일 추가 ===
== 프로젝트 생성 ==
1. New Project의 Application에서 Cordova-based Application을 선택하여 프로젝트를 생성한다.\\
{{:egovframework:hyb:guide:xcodephonegapproject.png|}}
== 설정 파일 추가 ==
1. Project를 선택하고, TARGETS를 선택 후 하단의 Linked Frameworks and Libraries의 하단 +(플러스) 버튼을 눌러 Security.framework, CFNetwork.framework, MobileCoreServices.framework, libz.dylib 프레임워크 및 라이브러리를 추가한다.\\
{{:egovframework:hyb:guide:xcode프레임워크추가.png|}}
2. 전자정부 표준프레임워크에서 다운로드 받은 Xcode용 PhoneGap Plugins인 EgovInterface.zip을 원하는 곳에 압축 푼 후 4개의 파일 EgovStorageInfo.h, EgovStorageInfo.m, EgovInterface.h, EgovInterface.m 파일을 프로젝트의 Plugins 폴더로 Drage&Drop을 한다.\\
{{:egovframework:hyb:guide:xcodeplugins파일.png|}}
3. 아래 스크린샷처럼 옵션을 선택하고 Finish를 선택한다.\\
{{:egovframework:hyb:guide:xcode파일추가.png|}}
4. 전자정부 표준프레임워크에서 다운로드 받은 Xcode용 정적라이브러리 eGovModule.zip을 원하는 곳에 압축을 푼 후 해당 폴더를 프로젝트 메인 폴더에 Drag&Drop을 한다.\\
{{:egovframework:hyb:guide:xcode정적라이브러리추가.png|}}
5. 아래 스크린샷처럼 옵션을 선택하고 Finish를 선택한다.\\
{{:egovframework:hyb:guide:xcode파일추가.png|}}
6. Supporting Files 폴더에 있는 Cordova.plist 파일을 선택 후, Plugins에 InterfaceAPI, StorageInfoAPI를 추가한 후 String 값으로 EgovInterface, EgovStorageInfo로 입력한다.\\
{{:egovframework:hyb:guide:xcode폰갭환경설정.png|}}
=== 설정 ===
== 자원요소 - 프로젝트명-info.plist ==
* 어플리케이션의 Bundle Identifier 이름을 지정한다. 이 Identifier 이름은 어플리케이션의 고유한 식별자로써 해당 어플리케이션을 다른 어플리케이션과 구분해주는 역할을 한다.
* 어플리케이션의 Localization native development region을 설정한다. 어플리케이션의 지역 정보를 설정하여 해당 어플리케이션에서 사용되는 언어 정보를 등록 할 수 있다.
* 어플리케이션의 Bundle display name 이름을 지정한다. 설치된 어플리케이션의 디스플레이 되는 이름을 설정하는데 사용된다.
* 어플리케이션의 icon파일 이름을 지정한다. 설치된 어플리케이션의 디스플레이 되는 이미지 파일을 설정하며 픽셀 크기별로 여러 파일의 등록이 가능하다.
* 어플리케이션의 Bundle version을 지정한다. 해당 어플리케이션의 버전을 명시하며 어플리케이션이 업데이트 대상인지 구분하는데 사용된다.
* 어플리케이션의 Main nib file base name을 지정한다. 어플리케이션의 화면 UI 구성 파일인 xib 파일을 설정하는데 사용된다. iPhone용과 iPad용을 별도로 등록한다.
* 어플리케이션의 supported interface orientations를 지정한다. 어플리케이션에서 지원할 수 있는 방향 전환을 설정하는데 사용되며 iPhone용과 iPad용을 별도로 등록한다.
== 화면 UI 구성 파일 ==
* 보통 iOS 어플리케이션에서는 xib 파일들은 화면 UI를 구성하는 파일들이다.
* 일반적인 iOS 어플리케이션의 메인 UI는 MainWindow.xib 파일로 설정하며 변경이 가능하다.
* 폰갭 어플리케이션의 기본 설정은 HTML을 랜더링하는 웹뷰를 전체화면에서 구성하도록 되어 있으며, 별도의 xib파일을 상요하지 않는다.
== AppDelegat ==
* 최초 어플리케이션이 로딩 될 때 main함수에서 호출되는 클래스로 어플리케이션의 시작점이 된다. 하이브리드 어플리케이션에서는 PhoneGapeDelegate를 상속받아 www폴더의 리소스를 웹뷰에 연결 시켜주는 역할을 수행한다.
== Cordova.plist ==
* 폰갭 어플리케이션의 설정 정보들을 등록해주는 파일이다.
* 폰갭에서도 각 Device API 들을 Plug-in 형태로 제공하며 해당 Device API Plug-in 들을 plugins 타입 아래에 명시 해 주어야 한다.
* 폰갭에서 사용되는 HTML 리소스가 외부 서버에 위치 했을 때 외부 리소스가 위치하는 호스트 정보를 ExternalHosts정보에 등록 해야 정상적으로 폰갭 어플리케이션이 동작한다.
==== 웹 서버 어플리케이션 설정 =====
=== web.xml 및 context-egovuserdetailshelper.xml의 설정 ===
참조 [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:com:v2:init_configration]]
=== Data Source 설정 ====
참조 [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:data_source]]
=== 표준 보안 API ===
== pom.xml ==
egovframework.com.cmm.uat
libgpkiapi_jni
1.4.0.0
^구분^설정방법^
|Class 경로 설정|방법 1. java 옵션 이용 : java -classpath jar_directory\libgpkiapi_jni.jar \\ 방법 2. 환경 변수 등록 : "내컴퓨터->속성->고급->환경변수" 에서 새로 만들기를 클릭하여 classpath 변수를 등록|
|라이브러리 경로 설정|1. JNI를 비롯한 C/C++용 표준보안API와 LDAP 라이브러리가 위치해 있는 경로를 환경 변수에 등록한다. \\ 2. "내컴퓨터->속성->고급->환경변수" 에서 기존 "path" 변수에 "라이브러리가 설치된 디렉토리"를 추가한다.|
{{:egovframework:hyb:hrte:NPKIClassPath.jpg}} | {{:egovframework:hyb:hrte:NPKIPath.jpg}}
===== 참고자료 =====
PhoneGap 2.9.0 Download : [[http://phonegap.com/download]]\\
Apple Developer Library : [[https://developer.apple.com/library/ios/navigation/]]\\
표준보안API : [[http://www.gpki.go.kr]]\\