- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

Similar documents
API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

C# Programming Guide - Types

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

iOS4_13

PCServerMgmt7

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

thesis

Tad_가이드라인

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

KYO_SCCD.PDF

어댑터뷰

PowerPoint Template

2ndWeek_Introduction to iPhone OS.key

JVM 메모리구조

untitled

PowerPoint Presentation


Interstage5 SOAP서비스 설정 가이드

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

17장 클래스와 메소드

3장

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi

DocsPin_Korean.pages

게시판 스팸 실시간 차단 시스템

슬라이드 1

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint - 4-UI 애플리케이션

서현수

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

C H A P T E R 2

제11장 프로세스와 쓰레드

Microsoft PowerPoint 세션.ppt

Facebook API

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - 2-Objective-C 기초

JUNIT 실습및발표

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

MasoJava4_Dongbin.PDF

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

1

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

ETL_project_best_practice1.ppt

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

DE1-SoC Board

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

매력적인 맥/iOS 개발 환경 그림 A-1 변경 사항 확인창 Validate Setting... 항목을 고르면 된다. 프로젝트 편집기를 선택했을 때 화면 아 래쪽에 있는 동일한 Validate Settings... 버튼을 클릭해도 된다. 이슈 내비게이터 목록에서 변경할

Javascript.pages

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

캐빈의iOS프로그램팁01

Week13

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - C++ 5 .pptx

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

MPLAB C18 C

1217 WebTrafMon II

05-06( )_¾ÆÀÌÆù_ÃÖÁ¾

강의10

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

설계란 무엇인가?

슬라이드 1

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft Word - Automap3

Spring Data JPA Many To Many 양방향 관계 예제

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

쉽게 풀어쓴 C 프로그래밍

ibmdw_rest_v1.0.ppt

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Network Programming

제20회_해킹방지워크샵_(이재석)

PowerPoint 프레젠테이션

untitled

Microsoft PowerPoint - additional01.ppt [호환 모드]

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

요약 1

rmi_박준용_final.PDF

gnu-lee-oop-kor-lec06-3-chap7

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

hlogin7

PowerPoint 프레젠테이션

final_thesis

SRC PLUS 제어기 MANUAL

05-class.key

Microsoft Word - FunctionCall

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Building Mobile AR Web Applications in HTML5 - Google IO 2012

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

Transcription:

플랫폼사용을위한 ios Native Guide

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager class 개발. - Native Controller에서 Network Manager 사용하기.

ios 개발환경및유의사항. - ios 개발환경 Xcode 5.x 이상버전 (OS X) - 유의 ( 주의 ) 사항 (* 주의 ) 인증서 (APP, PUSH) 사용기간 365일 (1년) 인증서만료전에인증서 (APP, PUSH) 를갱신 (60일전부터가능 ) 해야함. 참고사이트 https://developer.apple.com/kr/support/technical/certificates/ https://developer.apple.com/kr/support/ios/program-renewals.html

플랫폼의 ios Project(1/4) - ios project file 설명. 파일 설명 ExPPDefaultNetworkIndicator - Network Manager 에서사용되는전문통신중 indocator 출력을위한 class. HttpDefaultNetworkManager - 플랫폼의화면 (js) 또는 native network api 에서전달된데이터를조합하여전달하는기능을담당하는 network class. HttpDefaultFileDownloader HttpDefaultResourceDownloader - 플랫폼의리소스업데이트시서버의 zip 파일을다운로드받는기능을수행하는 class. PPHttpDefaultManagerDataVo PPHttpDefaultManagerDataVoFactory PPHttpDefaultManagerHead PPHttpDefaultManagerJsonVo - HttpDefaultNetworkManager class 에서사용 - req/rsp data 를처리하는편의 class.(json String data)

플랫폼의 ios Project(2/4) - ios project file 설명. 파일 설명 MCoreAppDelegate - Application Delegate class - 플랫폼을 start-up 시킴. start-up code [MPAppMain mcoreinitwithhistory:history parameters:parameter] PPHybridViewController - 플랫폼의기본 HTML 화면을표시하기위해서사용되는 class - 내부멤버로 UIWebView 를가지고있음. ExtendWNInterface - 플랫폼의확장 WN 함수추가시해당파일에 method 를추가. PPIndicatorUtil - 플랫폼의화면전환시 indicator 표시를담당하는 class PPAppDelegate - Application Delegate MCoreAppDelegate 의 child class

플랫폼의 ios Project(3/4) - ios project file 설명. 파일 설명 /MLibrary/MCore.framework - 플랫폼의 Core 라이브러리. /MLibrary/MCore.license - 플랫폼의 license 라이브러리. /MLibrary/MNet.framework /MLibrary/Mxxxyyy.framework /res/manifest.xml - 플랫폼의 Addon, Plugin 라이브러리. - 플랫폼의 App 설정파일. /res/mcore.mobile.lic - 플랫폼의 license 파일. (*) read only file.

플랫폼의 ios Project(4/4) - ios Project 에 res 폴더추가하기 단계 방법 1 단계 - 메뉴 Xcode File Add Files to 추가할프로젝트 클릭. - 단축키 option + command + A 입력. 2 단계 3 단계 - Folders 의 Create folder references for any added folders 선택. - Add to targets 추가할프로젝트 선택. - 추가완료. (*) check : res 폴더가하늘색으로표시되어야함.

Native Controller 와플랫폼화면연동 (1/3) - Native Controller? UIViewController 또는 PPNativeViewController를이용하여생성한 Controller. PPNativeViewController를 parent class로설정해야아래의 native api 사용가능함. - 플랫폼의화면이동 native api? 화면이동 Native Controller 플랫폼화면 (HTML) Native Controller Native Controller Native Controller 이전화면 - (void) movetowebonnewactwithurl:(nsstring*)url paramobj:(ppparameters *)pparameters action:(ppactiontype)pactiontype orient:(ppsupportorientation)porientationtype animation:(ppanimationtype)panimationtype; - (void) movetonativeactwithclass:(class)classname paramobj:(ppparameters *)pparameters action:(ppactiontype)pactiontype orient:(ppsupportorientation)porientation animation:(ppanimationtype)panimationtype; API - (void) historybackwithparamobject:(ppparameters *)pparameters animation:(ppanimationtype)panimationtype; Native Controller PPActionClearTop 이동 - (BOOL) movecleartop:(nsstring *)pkey params:(ppparameters*)pparameters animation:(ppanimationtype)panimationtype;

Native Controller 와플랫폼화면연동 (2/3) - 플랫폼의화면이동 native api 예제 화면이동 Native Controller 플랫폼화면 (HTML) Native Controller Native Controller Native Controller 이전화면 // /www/html/yepp.html 으로이동하는예제 [self movetowebonnewactwithurl:@"/www/html/yepp.html" paramobj:nil action:ppactionnewscreen /* PPActionNewScreen PPActionNoHistory PPActionClearTop */ orient:ppsupportorientationall animation:ppanimationdefault]; // SampleTwoNativeViewController 으로이동하는예제 [self movetonativeactwithclass:[sampletwonativeviewcontroller class] paramobj:nil action:ppactionnewscreen /* PPActionNewScreen PPActionNoHistory PPActionClearTop */ orient:ppsupportorientationall animation:ppanimationdefault]; // 이전화면으로이동하는예제 [self historybackwithparamobject:nil animation:ppanimationdefault]; 예제

Native Controller 와플랫폼화면연동 (3/3) - 플랫폼의화면이동 native api 의파라미터 파라미터파라미터정의비고 PPAnimationType typedef enum PPAnimationType { PPAnimationDefault, PPAnimationSlideLeft, PPAnimationNone, PPAnimationZoomIn,... PPAnimationModalUp, PPAnimationModalDown, PPAnimationModalLeft, PPAnimationModalRight } PPAnimationType; - 화면전환간의애니메이션설정. PPActionType typedef enum PPActionType { PPActionNewScreen, PPActionNoHistory, PPActionClearTop, // 이하내부화장 TODO PPActionGotoTop,... } PPActionType; - 플랫폼의화면 Stack 관리옵션. PPSupportOrientation typedef enum PPSupportOrientation { PPSupportOrientationDefault, PPSupportOrientationPortrait, PPSupportOrientationLandscape, PPSupportOrientationAll } PPSupportOrientation; - 화면의오리엔테이션설정.

플랫폼웹 (js)-native 간데이터공유 (1/3) - 3가지방식으로플랫폼웹 (js) Native 간데이터공유가가능함. - 공유가능한데이터포맷은 String. 구분설명 native 관련 class 파라미터데이터공유 (1/3) 전역데이터공유 (2/3) 영속데이터공유 (3/3) - 화면전환간에데이터가전달됨. - URL 의 key=value 파라미터전달방식 - memory 저장방식. - 앱 running 중 get/set 가능. - 앱 off 시 memory 에서사라짐. - storage 저장방식. - 앱 running 중 get/set 가능. PPParameters PPAppContext PPAppContext

플랫폼웹 (js)-native 간데이터공유 (2/3) 구분동작웹 (js) 식방식 ( 예제 ) native 방식 ( 예제 ) - 화면이동함수에서아래와같이 param 변수에값을설정. - PPParameters 객체를생성후화면이동함수의파라미터로전달. 파라미터데이터공유 (1/3) SET M.page.back({ param : {'key_a':'b','key_c':'d'} }); PPParameters* param = [[PPParameters alloc] init]; [param setobject:@"'key_a'" forkey:@"b"]; [param setobject:@"'key_c'" forkey:@"d"]; [self historybackwithparamobject:param animation:ppanimationdefault]; [param autorelease]; ( 알림 ) PPNativeViewController class 상속받은 class 에서만사용가능. GET var key_a = M.data.param("key_a"); NSString *key_a = [self.parameters objectforkey:@"'key_a'"]; ( 알림 ) PPNativeViewController class 상속받은 class 에서만사용가능.

플랫폼웹 (js)-native 간데이터공유 (3/3) 구분동작웹 (js) 식방식 ( 예제 ) native 방식 ( 예제 ) M.data.global( g_key, value ); _setglovalvalue(@ g_key, @ value ); 전역데이터공유 (2/3) SET var g_key = M.data.global( g_key ); (*) 알림. _setglovalvalue 는 PPAppContext.h 파일에정의된 macro NSString *g_key = _getglovalvalue(@ g_key ); GET (*) 알림. _getglovalvalue 는 PPAppContext.h 파일에정의된 macro M.data.storage( s_key, value ); _setstoragevalue(@ s_key, @ value ); 영속데이터공유 (3/3) SET var s_key = M.data.storage( s_key ); (*) 알림. _setstoragevalue 는 PPAppContext.h 파일에정의된 macro NSString *s_key = _getstoragevalue(@ s_key ); GET (*) 알림. _getstoragevalue 는 PPAppContext.h 파일에정의된 macro

플랫폼확장 WN Interface 함수개발 (1/6) - WN 확장 Interface? WIKI API 에정의되지않은 Native 함수의추가및사용을 WN 확장 interface 라한다. WN Interface 는 Web and Native Interface 의약어이다. Native 함수의추가는 ExtendWNInterface 파일에추가한다. Objective-C 의 Category 를이용하여소스의모듈화가가능하다. - Native 함수의동기 / 비동기방식의동작지원. 비동기 native 함수의결과값을 js함수 (cb js함수 ) 를통하여화면 (js) 로전달되는방식. 함수호출시 cb js함수의전달또는 prefix된 js함수로결과전달이가능함. 동기 native 함수의 return 값이화면 (js) 으로바로전달되는방식.

플랫폼확장 WN Interface 함수개발 (2/6) - Native 함수정의시, 제약사항. 함수의매개변수타입은 (NSString *) 타입만을지원. 함수의반환 (return) 타입은 (NSString * or void) 타입만을지원. 함수매개변수에적용되는 named parameter의 name은공백 ( ) 이어야함. * 확장 interface 함수개발함수의 proto type. - (void) somemethodwithfirstvalue:(nsstring *)value1 :(NSString *)value2; - (NSString *) somemethodwithfirstvalue:(nsstring *)value1 :(NSString *)value2; * 일반적인 Objective-C 함수의 proto type. named parameter (parameter s name) - (void) somemethodwithfirstvalue:(nsstring *)value1 secondvalue:(nsstring *)value2; - ExtendWNInterface 에서접근가능한객체. _viewctrl -> PPWebViewController(PPHybridViewController) 의 instance. _viewctrl.poperawebview -> UIWebView 의 instance.

플랫폼확장 WN Interface 함수개발 (3/6) - PPHybridViewController 의 _viewctrl 를이용한 javascript 함수호출하기. javascript call method 의 proto type. - (void) callcbfunction:(nsstring *)func withobjects:(nsobject*)fristobject,... NS_REQUIRES_NIL_TERMINATION; javascript call method 의사용예제. - (void) asynctest:(nsstring *)callback :(NSString *)param1 :(NSString *)param2 { [_viewctrl callcbfunction:callback withobjects:@"native set value", param1, param2, nil]; } - PPHybridViewController 의 _viewctrl.poperawebview 를이용한 javascript 함수호출하기. UIWebView 의 stringbyevaluatingjavascriptfromstring 의 proto type. - (NSString *)stringbyevaluatingjavascriptfromstring:(nsstring *)script; UIWebView 의 stringbyevaluatingjavascriptfromstring 의사용예제. NSString *calljavascriptstring = @ ; // TODO [_viewctrl.poperawebview stringbyevaluatingjavascriptfromstring:calljavascriptstring];

플랫폼확장 WN Interface 함수개발 (4/6) - 화면 (js) 에서 native 함수호출. WN2CommonAsync 함수 ( 비동기방식 ). native 의 Objective-C 함수를 async( 비동기 ) 방식으로호출하는 JS 함수. 함수의 prototype void WN2CommonAsync( native function name, [ param, [ param ]]); WN2CommonAsync 함수의사용예제. /* * WN2CommonAsync 함수를사용하는예제. * param1/2 : String * return_cb : javascript function */ function edu_native_callasync(param1, param2, return_cb) { // ExtendWNInterface.m 파일의 // - (void) asynctest:(nsstring *)callback :(NSString *)param1 :(NSString *)param2 함수를호출. WN2CommonAsync("asyncTest", M.buffer.on(return_cb), param1, param2); } // 테스트함수 (edu_native_callasync) 를호출하는함수. function dummy_callasync(param1, param2) { edu_native_callasync(param1, param2, function (native_p1, native_p2) { // javascript 익명함수. var rst = " 비동기응답값 p1 : " + native_p1 + ", p2 : " + native_p2; alert(rst); // 응답값확인. }); }

플랫폼확장 WN Interface 함수개발 (5/6) - 화면 (js) 에서 native 함수호출. WN2Common 함수 ( 동기방식 ). native 의 Objective-C 함수를 sync( 동기 ) 방식으로호출하는 JS 함수. 함수의 prototype [String] WN2Common( native function name, [ param, [ param ]]); WN2Common 함수의사용예제. /* * WN2Common 함수를사용하는예제. * param1/2 : String */ function edu_native_callsync(param1, param2) { // ExtendWNInterface.m 파일의 // - (NSString *) synctest:(nsstring *)param1 :(NSString *)param2 함수를호출후응답을 alert 으로확인. var rtn = WN2Common("syncTest", param1, param2); alert("synctest 리턴값 : " + rtn); }

플랫폼확장 WN Interface 함수개발 (6/6) - 예제 Objective-C Code ExtendWNInterface.m 의일부 /* * 동기방식으로동작하는함수. * param1 : javascript 함수에서넘어온 String. * param2 : javascript 함수에서넘어온 String. */ - (NSString *) synctest:(nsstring *)param1 :(NSString *)param2 { NSString *rtn = [NSString stringwithformat:@"%@%@", param1, param2 ]; return rtn ; } /* * 비동기방식으로동작하는함수. * param callback : 내부동작의응답을처리할 javascript 함수. * param p1 : javascript 함수에서넘어온파라미터 * param p2 : javascript 함수에서넘어온파라미터 * return : 없음. */ - (void) asynctest:(nsstring *)callback :(NSString *)param1 :(NSString *)param2 { NSString *msg = [NSString stringwithformat:@"%@%@", param1, param2 ]; // - (void) callcbfunction:(nsstring *)func withobjects:(nsobject*)fristobject,... NS_REQUIRES_NIL_TERMINATION; // 함수를사용하여화면의 java script 함수를호출. [_viewctrl callcbfunction:callback withobjects:@"native msg", msg, nil]; }

Network Manager Class 개발 (1/3) - WHAT? 플랫폼의 M함수또는 native activity에공통화된 http network interface를제공해주는편의클래스. 기본 network manager. HttpDefaultNetworkManager (site 특성에따라변경가능함.) custom network manager. site 특성에따라기본 network manager를이용하여생성. network manager diagram.

Network Manager Class 개발 (2/3) - HOW? parent class : PPAbstractHttpNetworkManager 구현해야할 protocol PPNetworkManager request 기능. PPHttpProviderDelegate response 기능. @protocol PPNetworkManager <NSObject> - (void) processwithviewctrl:(uiviewcontroller *)ctrl trcode:(nsstring *)trcode data:(nsobject *)data networkoption:(nsobject *)networkoption delegate:(id<ppnetworkmanagerdelegate>)delegate userinfo:(nsarray *)userinfo; @protocol PPHttpProviderDelegate <NSObject> - (void) didfinishhttpprovider:(id)provider header:(nsdictionary *)header body:(nsdata *)body encoding:(nsstringencoding)encoding userdata:(nsarray*)userdata; - (void) didfailhttpprovider:(id)provider errormsg:(nsstring*)errormsg userdata:(nsarray*)userdata;

Network Manager Class 개발 (3/3) - Network Manager 의 requset / response flow JSON Format Data

Native Controller 에서 Network Manager 사용하기 (1/2) - HOW? network request 함수. network request 함수의 proto type /*! 네트워크매니저를사용하여통신하는함수. @param target Manifest.xml에정의된 network name @param trcode 전문코드 @param request request data @param option {PPNetworkOption} 네트워크옵션 @param userdata extends datas */ - (void) netsearchwithtarget:(nsstring *)target trcode:(nsstring *)trcode request:(nsstring *)request option:(ppnetworkoption *)option userdata:(nsarray*)userdata; network request 함수의사용예제. PPNetworkOption* option = [[PPNetworkOption alloc] init]; [self netsearchwithtarget:@"'http_main'" request:@"{}" userdata:nil]; trcode:@"'appinfo'" option:option

Native Controller 에서 Network Manager 사용하기 (2/2) - HOW? parent class 부모 class를 PPNativeViewController로변경해야함. Network Manager 에서 response 를받기위해구현해야할 protocol PPNetworkManagerDelegate protocol @protocol PPNetworkManagerDelegate <NSObject> // (*) 서버와의통신이정상적으로이루어졌을경우 // network manager에서호출되는 call back method. - (void) didfinishnetworkmanager:(id<ppnetworkmanager>)manager targetserver:(nsstring*)targetserver trcode:(nsstring*)trcode response:(nsstring*)response cbfunction:(nsstring*)cbfunction tagid:(nsstring*)tagid jsonuserdata:(nsstring*)jsonuserdata userdata:(nsarray*)userdata; // (*) 서버와의통신에오류가발생하였을경우 // network manager에서호출되는 call back method. - (void) didfailnetworkmanager:(id<ppnetworkmanager>)manager targetserver:(nsstring*)targetserver trcode:(nsstring*)trcode tagid:(nsstring*)tagid jsonuserdata:(nsstring*)jsonuserdata errorcode:(nsstring*)errorcode errormsg:(nsstring*)errormsg userdata:(nsarray*)userdata;