===== 디바이스 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]]\\