콘텐츠로 이동

Apple Privacy Manifest 대응 SDK 업그레이드 중 생긴 빌드·런타임 문제 해결

Apple Privacy Manifest 대응을 위해 모바일 슬롯 게임의 Unity와 SDK를 아래 버전으로 올렸다.

  • Unity 2021.3.37f1
  • Firebase Unity SDK 11.9.0
  • AppLovin Unity 미디에이션 어댑터 7.2.2 (변경 내역)
  • AppsFlyer Unity 플러그인 6.14.0 (릴리스)
  • Facebook Unity SDK 14.0.1
  • EDM4U 1.2.179

Facebook Unity SDK는 처음에 17.0.2로 올렸다. 그러나 17 이상에서는 로그인 관련 추가 개발이 필요해 14.0.1로 내리고, Privacy Manifest 파일(PrivacyInfo.xcprivacy)을 직접 수정하는 방식으로 바꿨다.

  • 원인: Unity 버전을 올리면서 com.unity.mobile.notifications 패키지가 2.1.1에서 2.3.2로 자동 업데이트됐다.
  • 해결: 패키지 버전을 되돌렸다.

Jenkins 빌드 잡의 APK 업로드 실패

섹션 제목: “Jenkins 빌드 잡의 APK 업로드 실패”
  • 원인: Firebase 업데이트로 Crashlytics 심볼 파일 이름이 바뀌었다.
  • 해결: 빌드 스크립트에서 바뀐 파일 이름을 쓰도록 고쳤다.

새로 올린 AppLovin, Facebook, AppsFlyer SDK가 충돌해 앱 실행 시 UnityFramework가 Facebook 프레임워크를 찾지 못했다.

Error loading .../Frameworks/UnityFramework.framework/UnityFramework (141): dlopen(.../Frameworks/UnityFramework.framework/UnityFramework, 0x0109): Library not loaded: @rpath/FBAEMKit.framework/FBAEMKit
Referenced from: <...> .../Frameworks/UnityFramework.framework/UnityFramework
Reason: tried: '/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (no such file), '.../Frameworks/FBAEMKit.framework/FBAEMKit' (no such file), '.../Frameworks/UnityFramework.framework/Frameworks/FBAEMKit.framework/FBAEMKit' (no such file), ...
  • 처음 시도: Facebook SDK를 17.0.2로 올려 해결했지만, AppsFlyer를 올리자 다시 발생했다.
  • 해결: Link frameworks statically 옵션을 꺼서 해결했다. 같은 증상이 facebook-ios-sdk#2128에 보고되어 있다.