'앱 통신'에 해당되는 글 1건

  1. 2012.05.30 app과 서버의 데이터 주고 받기 (ASIHTTP)
카테고리 없음2012. 5. 30. 13:30

앱을 제작하면서 서버와 값을 주고 받는 일이 많다.

(현재 내가 제작하는 앱은 값을 주고, 결과를 XML로 받는다.)


값을 주고 받기에 편하기 위해 ASIHTTP 라이브러리를 이용했다.


1. 라이브러리를 다운 받는다. 


http://allseeing-i.com/ASIHTTPRequest/


다운 받으면 Iphone용 프로젝트를 열어서 'External' 폴더와 'Classes' 폴더를 나의 프로젝트로 옮겨 넣는다.




옮긴후 'Tests' 폴더는 삭제한다.

테스트 한 결과 에러만 잔득 만들어 내고 필요 없다.


2. 프레임웍 추가

http://allseeing-i.com/ASIHTTPRequest/Setup-instructions

여기에도 나와있듯이 아래와 같은 프레임웍을 추가한다.


CFNetwork.framework

SystemConfiguration.framework

MobileCoreServices.framework,

CoreGraphics.framework 

libz.1.2.3.dylib

libxml2.dylib


3. Header Search Paths 추가


${SDK_DIR}/usr/include/libxml2




4. 이후 코딩은 http://allseeing-i.com/ASIHTTPRequest/How-to-use 이곳 참고하면 된다.


5. 값을 보내고 받은 xml은 NSString 형태로 받게 되고, 아래와 같이 xml로 바꿔서 파싱해주면 된다.

(NSString 으로 받은걸 좀더 쉽게 파싱하는 방법이 있으면 좋으련만, 서치한걸로는 이 방법이 최선이라 생각된다.)


NSData *data = [response dataUsingEncoding:NSUTF8StringEncoding];

NSXMLParser *xmlParser = [[NSXMLParser allocinitWithData:data ];


6. xml 파싱은 NSXMLParser 이용하면 된다. 따로 포스트 할 예정이다.

(많이 복잡한 xml이라면 다른 라이브러리를 사용하겠지만 결과로 받은 xml은  짧으므로 기본 클래스를 이용할 예정)

Posted by 다오나무