app과 서버의 데이터 주고 받기 (ASIHTTP)
앱을 제작하면서 서버와 값을 주고 받는 일이 많다. (현재 내가 제작하는 앱은 값을 주고, 결과를 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 alloc] initWithData:data ]; 6. xml 파싱은 NSXMLParser 이용하면 된다. 따로 포스트 할 예정이다. (많이 복잡한 xml이라면 다른 라이브러리를 사용하겠지만 결과로 받은 xml은 짧으므로 기본 클래스를 이용할 예정)