TitleHive SDK v4.16.0 이상 적용시 주의 사항2022-09-22 14:26:29
Writer

1. recaptcha.framework 미포함 에러

 Undefined symbol: _OBJC_CLASS_$_RecaptchaAction

 Undefined symbol: _OBJC_CLASS_$_RecaptchaClient

    • recaptcha.framework 미적용되어 발생하는 에러로 개발자페이지에서 [다운로드] 후 Xcode프로젝트에 직접 추가 필요
    • Podfile에 추가하는 방법으로는 해결 불가능
    • UnityFramework단 드래그앤드롭 후 General -> UnityFramework -> Frameworks and Libraries 에서 recaptcha.framework 설정 Do Nod Embed 처리 

2. Xcode 버전 에러

 Undefined symbol: protocol conformance descriptor for StoreKit.VerificationResult<A>.VerificationError : Foundation.LocalizedError in StoreKit.

    • Apple이 제공한 Xcode에 포함된 SDK의 오류로 Xcode 13.3.1 이상 업데이트 필요

3. Facebook SDK 관련 에러 

 dyld[486]: Library not loaded: @rpath/FBAEMKit.framework/FBAEMKit

  Referenced from: /private/var/containers/Bundle/Application/735A3CFF-8422-4FB4-900C-308C285F8B0A/프로젝트.app/Frameworks/UnityFramework.framework/UnityFramework
.
.
System/Library/Frameworks/FBAEMKit.framework/FBAEMKit' (no such file) 
    • Facebook SDK는 12버전 이상부터 다이나믹 방식만 사용해야 함
    • Hive v4.16.0에서는 FBSDK라이브러리 13.2버전 사용
    • Adx 또는 Hive Adkit 1.3.3 을 적용하지 않는다면 Podfile에서 use_frameworks! :linkage => :static 제거
    • 또는 Unity프로젝트에서 Assets -> External Dependency Manager -> iOS Resolver -> Settings에서 Link frameworks statically 설정을 체크해제
      • Adx 또는 Hive Adkit 1.3.3 적용 시
        • Adx, Hive Adkit 1.3.3은 static 방식만 적용 가능
        • v4.16.0 + Hive Adkit 1.3.2 적용 => Hive Adkit에서 작업이 되어 FBSDK 라이브러리 직접 추가 작업필요없음 (대신 크래시 이슈 등 있어 Adkit 업데이트 필요)
        • v4.16.0 + Hive Adkit 1.3.3 적용 => FBSDK 직접 추가 작업 필요 (google AdMob에서의 이슈가 원인)
        • v4.16.0 + Adx 2.1.0 이전버전 적용 => mopub 서비스 종료로 라이브러리 업데이트 필요 + Adx mediation key발급 필요 + FBSDK 직접 추가 작업 필요
        • v4.16.0 + Adx 2.1.0 이후버전 적용 => Adx mediation key발급 필요 + FBSDK 직접 추가 작업 필요

4. Line SDK 관련 에러

 CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'LineSDKSwift' from project 'Pods')

   cd /Users/mac/Work/FC_Client/Build_XCode_Hercules/Pods
   export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
.
.
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization

Command CompileSwiftSources failed with a nonzero exit code 

    • Line IDP 미사용 하는 경우
      • Unity프로젝트 -> Hive -> ExternalDependency 에서 IDP Line 체크박스 해제
    • Line IDP 사용 하는 경우

fix for dyld issue in pods when using Project

LineSDKSwift 사용 시 pod project 설정 변경필요

post_install do |installer|

  installer.pods_project.targets.each do |target|

    if ["LineSDKSwift"].include? target.name

      target.build_configurations.each do |config|

        config.build_settings["BUILD_LIBRARY_FOR_DISTRIBUTION"] = "YES"

      end

    end

  end

end{code}




5. Facebook Client Token 에러(Hive SDK v4.15.8.1 이상 필수)

 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Starting with v13 of the SDK, a client token must be embedded in your client code before making Graph API calls.

Visit https://developers.facebook.com/apps/512713963769018/settings/advanced/ to find your client token for this app.

Add a key named FacebookClientToken to your Info.plist, and add your client token as its value.

Visit https://developers.facebook.com/docs/ios/getting-started#configure-your-project for more information.'

    • FBSDK가 업데이트되며 Facebook Client Token값이 필수 적용 사항이 되었고 해당 값이 누락되어 발생하는 에러
    • Facebook Client Token 값 확인
    • Unity프로젝트 -> Hive -> Edit Config -> iOS -> Facebook Client Token 값 추가 후 Regenerate