사전 준비 작업으로,
4. Unity3D에 Plugin 파일 포함하기를 먼저 진행하셔야 됩니다.
7.1유니티에서 XCode 프로젝트 만들기
Menu File - Build Settings에서 Platform(iOS) 및 Player Settings에서 빌드 설정
그림 7-1스크린샷1
Menu File - Build Setttings - Other Settings-Configuration 항목에서 Scripting Backend IL2CPP로 설정.
Menu File - Build Setttings - Other Settings-Configuration 항목에서 Target IOS Version 5.1.1 이상으로 설정.
그림 7-2스크린샷2
Unity에서 Build를 선택하여 XCode 프로젝트를 생성합니다.
7.2유니티가 만들어준 XCode 프로젝트 빌드하기
이하의 설명들은 다음과 같은 환경 하에서 진행한다고 가정하고 설명합니다.
1. XCode 버전 : XCode 12.3 (12C33)
2. 프라우드넷 버전 : 1.7.52303-master
3. 빌드하는 유니티 프로젝트 : ChatUnity
( ChatUnity는 프라우드넷 설치 폴더 내의 Sample/Chat에 있습니다. )
4. 유니티 버전 : 2019
IL2CPP 빌드로 생성된 XCode 프로젝트 Open
IL2CPP 빌드로 생성된 XCode 프로젝트를 정상적으로 빌드하기 위해서는 프라우드넷 설치 경로 내의 "ProudNet/include" 폴더에 있는 헤더 파일들을 생성된 XCode 프로젝트에 포함시켜야 합니다.
ProudNet / include 경로 상의 *.h 파일들을 생성된 XCode 프로젝트 경로의 Libraries 폴더로 전체를 복사합니다.
생성된 XCode 프로젝트 폴더에 ProudNetClientPlugin_wrap.cxx 파일이 없을 수 있습니다. 없을 경우 "ProudNet\lib\Plugins\Unity\IOS\ProudNetClientPlugin_wrap.cxx" 파일을 "$(XCode 프로젝트 Path)\Libraries\Plugins\Unity\IOS\"로 복사를 수행합니다.
생성된 XCode 프로젝트에서 'UnityFramework' Target의 Build Settings - Search Paths로 들어갑니다. Header Search Paths에 Libraries와 Libraries/Plugins/Unity/IOS 폴더 경로를 절대 또는 상대 경로로 입력합니다. ( 'UnityFramework' Target이 무엇인지는 아래의 '스크린샷3'에 있는 빨간 박스를 참고부탁드립니다. )
그림 7-3스크린샷3
이후 프라우드넷 버전별로 다르게 옵션을 아래 내용대로 지정하셔야 됩니다.
프라우드넷 1.7.40679 이하 버전
'UnityFramework' Target의 Build Settings > Other Linker Flags에서 "-force_load $(SRCROOT)/Libraries/Plugins/IOS/libProudNetClientPlugin.a" 입력.
프라우드넷 1.7.40679 초과 버전
'UnityFramework' Target의 Build Settings > Other Linker Flags에서 "-force_load $(SRCROOT)/Libraries/Plugins/Unity/IOS/LLVM/arm64only/libProudNetClientPlugin.a" 입력.
'Unity-iPhone Tests'와 'UnityFramework' Target의 Build Settings > Architectures 에서 armv7 arm64로 되어 있는 것을 클릭하여 Other..를 누르고 arm64만 선택합니다. ( 아래 '스크린샷4'를 참고부탁드립니다. )
그림 7-4스크린샷4
XCode Menu - Product Build 또는 Run 선택.