[unity]FBLPromises.framework/FBLPromises for architecture arm64 오류 수정 방법
Unity에서 구글 Admob 추가 후 IOS 빌드 시 Xcode 빌드에서 FBLPromises for architecture arm64 오류가 나오면서 빌드가 실패하는 케이스에 대한 해결 방안에 대해 알아보자.
기존 유니티 2018에서는 애드몹 추가 후 빌드&런으로 실행이 잘되던 프로젝트가 유니티 2021로 버전을 올리고, Google Admob 버전도 올리면서 새로운 환경으로 빌드 시도 시 에러가 나오면서 빌드가 되지 않았다.
빌드 환경
- Unity : 2021.3.15
- Xcode : 14.1
- Google Admob : v7.3.1
- MacOS : Monterey(12.5)
상세 오류 메세지
'/~/Build/Products/ReleaseForRunning-iphoneos/PromisesObjC/FBLPromises.framework/FBLPromises(FBLPromise.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '~/Build/Products/ReleaseForRunning-iphoneos/PromisesObjC/FBLPromises.framework/FBLPromises' for architecture arm64
해결 방안
유니티에서 빌드 후 생성되는 XCode 프로젝트를 보면, 기존과 달라진 점이 있다.
기존에 Unity-IPhone 프로젝트 안에 있던 각종 라이브러리와 프레임워크가 별도 프로젝트 형태로 빠져 있는것이 발견되었다.
바로 UnityFramework라고 Targets에 별도로 구성이 빠져 있다.
Targets의 UnityFramework 항목을 선택 후 BuildSettings에 들어가 BuildOptions 항목 중 Enable Bitcode가 Yes로 설정되어 있다. 이 Enable Bitcode 설정 값을 No로 변경해주면 된다.
bitcode 값을 no로 바꿔야 한다는 것은 에러 문구를 통해 알 수 있었으나, Target에서 계속 Unity-iPhone이나 Pods만 바꾸다보니 계속 실패를 하였다. UnityFramework 항목이 별도로 빠져있을 줄은 처음 알았다.
Unity 버전과 Admob, Xcode 버전을 지속적으로 업데이트 하기 위해서는 해당 변경 요소들을 잘 체크해 두면 도움이 될 것 같다.
댓글