2.Mac Xcode에서의 Project 설정 및 설정시 주의사항

Edit

ProudNet IOS 버젼은 C/C++ 로 개발되었습니다. Library 및 Sample은 XCode8 Version에서 빌드되었습니다. ProudNet Library를 XCode Project에 포함하는 방법은 아래와 같습니다.

2.1사전 작업

아래의 파일을 맥으로 복사합니다.

그림 2-1복사한 파일 및 경로

MAC용 Mono를 설치합니다.

http://www.mono-project.com/docs/getting-started/install/mac/

이는 PIDL.exe를 사용하기 위해 설치합니다.

Sample\ChatIOS의 ChatIOS.xcodeproj를 엽니다.

2.2프로젝트 환경 설정

Include.xcodeproj를 해당 프로젝트에 추가합니다.

그림 2-2ProudNet API를 쉽게 확인하기 위해서 입니다. include폴더에있는 Include.xcodeproj를 드래그앤 드랍하여 프로젝트에 추가합니다.

BuildPhases의 Run Script의 내용을 수정합니다.

Xcode에서 ProudNet을 사용할때의 주의사항

• libiconv.dylib 라이브러리를 추가해주십시오. libiconv.dylib는 Xcode에서 기본제공되는 library입니다.
• ProudNet의 API를 사용하는곳은 ProudNet이 C/C++ 로 개발되었기때문에 m파일에서 사용할수 없습니다. 확장자를 mm파일로 변경하셔야합니다.
• 모든 mm파일에 #include <new> 를 추가해주셔야합니다. 이 제약은 XCode에서 STL은 헤더파일에 선언할수 없는 제약에 따른것 입니다.
• ProudNet Library를 추가했을때 Link error가 발생하는 경우 아래와 같은 옵션을 추가하시기 바랍니다. 해당 옵션은 모든 아키텍쳐에서 심볼을 로드하겠다는 의미입니다.




• -all_load -Objc 옵션을 사용시 "duplicate symbol" 관련 Link error 가 발생할 수 있습니다.(cocos2d-x) 이 경우 Other Linker Flags 에 -all_load -Objc 대신 -force_load 를 사용하시기 바랍니다.

그림 2-3. Other Linker Flags에 -force_load 옵션 사용 예

경로를 맞춰주기 위해서입니다. PIDL.exe의 경로를 맞춰야 합니다.

위와 같은 디렉토리 구조라면 아래와 같이 수정하여 주십시오.

mono ../../util/PIDL.exe ../ChatCommon/* -outdir ./ChatIOS/

Build Settings > Other Linker Flags의 Debug, Relese를 수정합니다.

그림 2-3경로 맞추는 화면

실제 libProudNetClient.a가 위치한 경로로 변경해줍니다. 위와 같은 디렉토리 구조라면 스크린샷과 같은 내용이 됩니다.

또한, LLVM과 GNU중 취사선택하여 주십시오.

2.3결과확인

ChatIOS를 빌드합니다.

Windows에서 ChatServer를 띄웁니다.

그림 2-4ChatServer 구동화면

ChatIOS의 접속 유무는 ChatServer에서 확인 가능합니다.