빌드 환경 : Unity 4.6.2p2 / XCode 6.2
증상 :
IL2CPP iOS 64비트 적용을 위해 유니티 프로젝트를 변경하던 중, 다음과 같은 오류 발생.
.... Classes/Native/Bulk_ICSharpCode.SharpZipLib_0.cpp:6083:3: Use of undeclared identifier 'Stream_Finalize_m13333' |
해결 :
프로젝트 내 ICSharpCode.SharpZipLib.dll 을 사용하는 플러그인이 존재함.
해당 dll 과 XCode IL2CPP 관련 빌드시 충돌이 일어나는 듯 함.
유니티 포럼에서는 ICSharpCode.SharpZipLib.dll 파일을 사용하지 않을경우 프로젝트에서 삭제해보라고 하지만,
안쓰는 파일을 프로젝트에 쓸 이유가 없으므로, 삭제는 불가능.
해당 라이브러리를 dll 파일이 아닌 소스 통채로 넣고 빌드를 하면, 해당 문제를 해결할 수 있음.
( SharpZipLib Libaray Full Source : https://github.com/icsharpcode/SharpZipLib )
+
Player Setting -> API Compitiable Level -> Net 2.0
( 변경 안하면 빌드 오류 발생. )
:: 참고 링크 ::
- 관련 이슈 포럼 포스팅 내용 : http://forum.unity3d.com/threads/unity-ios-64-bit-support.287172/page-2#post-2025929
- SharpZipLib 관련 라이센스 정보 : http://icsharpcode.github.io/SharpZipLib/