Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS Crash with Verve Group(Pubnative) Adapter When Static Linking Is Enabled #178

Open
rselimsahin opened this issue Dec 16, 2022 · 7 comments
Assignees
Labels
bug Something isn't working stale This isue has been inactive

Comments

@rselimsahin
Copy link

rselimsahin commented Dec 16, 2022

MAX SDK Version

5.6.0

Device/Platform Info

iOS

Current Behavior

We are experiencing a crash on app launch on iOS when static framework linking is enabled and Verve adapter is installed(version 2.16.1.1). XCode version 14.1. Xcode logs are provided below:

2022-12-16 15:05:56.778238+0300 MonsterDraft[1983:54505] AppLovinQualityService top: AppLovinQualityService Client Version: 6.7.1 2022-12-16 15:05:56.778326+0300 MonsterDraft[1983:54505] AppLovinQualityService top: AppLovinQualityService Device ID: F4F33D2B-08F1-4FF3-948E-7D4D7861026A 2022-12-16 15:05:56.869503+0300 MonsterDraft[1983:54505] Error loading /var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/UnityFramework: dlopen(/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/UnityFramework, 0x0109): Library not loaded: '@rpath/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' Referenced from: '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/UnityFramework' Reason: tried: '/usr/lib/swift/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/usr/lib/swift/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/../../Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/usr/lib/swift/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/usr/lib/swift/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/../../Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/private/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file), '/System/Library/Frameworks/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet' (no such file) 2022-12-16 15:05:56.871397+0300 MonsterDraft[1983:54505] Error loading /var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/UnityFramework: dlopen(/var/containers/Bundle/Application/A5AE0649-9100-492D-93F1-5D5A77DA0FAD/MonsterDraft.app/Frameworks/UnityFramework.framework/UnityFramework, 0x0109): Library not loaded: '@rpath/OMSDK_Pubnativenet.framework/OMSDK_Pubnativenet'

Expected Behavior

No response

How to Reproduce

Enable static linking frameworks and install vervegroup adapter. Build project and test on iOS device.

Additional Info

Everything works without problem when verve adapter is uninstalled.

@rselimsahin rselimsahin added the bug Something isn't working label Dec 16, 2022
@santoshbagadi
Copy link
Contributor

Hi @rselimsahin , just to confirm for Enable static linking frameworks, how are you enabling this. Is this through the External Dependency Manager settings?

If so, we currently don't support use_frameworks! setting and should disable it in the External Dependency Manager settings to avoid this issue.

@rselimsahin
Copy link
Author

Hi @santoshbagadi ! Yes this is through the External Dependency Manager(version 1.2.174) settings.

@santoshbagadi
Copy link
Contributor

Is there a specific reason for enabling Add use_frameworks! to Podfile setting? Could you try disabling it and see if the issue still exists?

@rselimsahin
Copy link
Author

We enable statically linking frameworks setting because otherwise we can not compile our code using latest version of google ads adapter. Here is the google ads adapter issue we experience when the setting is disabled: googleads/googleads-mobile-unity#2094. In addition to this, when setting is disabled we experience some issues with Firebase SDKs, especially with Remote Config. It is recommended to enable this setting when using Firebase SDKs.

@santoshbagadi
Copy link
Contributor

santoshbagadi commented Dec 20, 2022

Are you using both MAX and Google AdMob mediation? If you are using our Google AdMob adapter, you shouldn't need to enable this setting and that should fix the issue.

Could you share more specific regarding the Firebase config issues?

@rselimsahin
Copy link
Author

@santoshbagadi Here is the build error we are experiencing with admob adapter when we disable static linking.

warning: linking module flags 'SDK Version': IDs have conflicting values ('[2 x i32] [i32 15, i32 2]' from /Users/rselimsahin/Desktop/mdbt/Pods/BURelyFoundation/Frameworks/SDK/HM/libHM.a(HMDBUCrashExtraDynamicData.o)721 with '[2 x i32] [i32 15, i32 0]' from /Users/rselimsahin/Desktop/mdbt/Pods/Ads-CN/SDK/CSJAdSDK.framework/CSJAdSDK(UGYGNodePrint.o)1554)
warning: linking module flags 'SDK Version': IDs have conflicting values ('[2 x i32] [i32 15, i32 2]' from /Users/rselimsahin/Desktop/mdbt/Pods/BURelyFoundation/Frameworks/SDK/HM/libHM.a(HMDBUCrashExtraDynamicData.o)721 with '[2 x i32] [i32 15, i32 0]' from /Users/rselimsahin/Desktop/mdbt/Pods/Ads-CN/SDK/CSJAdSDK.framework/CSJAdSDK(UGYGKitLayout.o)1551)
Undefined symbols for architecture arm64:
  "_GADAdLoaderAdTypeNative", referenced from:
      ___73-[ALGoogleMediationAdapter loadAdViewAdForParameters:adFormat:andNotify:]_block_invoke in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
      ___64-[ALGoogleMediationAdapter loadNativeAdForParameters:andNotify:]_block_invoke in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_GADAdSizeBanner", referenced from:
      -[ALGoogleMediationAdapter adSizeFromAdFormat:isAdaptiveBanner:] in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_GADAdSizeLeaderboard", referenced from:
      -[ALGoogleMediationAdapter adSizeFromAdFormat:isAdaptiveBanner:] in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_GADAdSizeMediumRectangle", referenced from:
      -[ALGoogleMediationAdapter adSizeFromAdFormat:isAdaptiveBanner:] in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth", referenced from:
      ___64-[ALGoogleMediationAdapter adSizeFromAdFormat:isAdaptiveBanner:]_block_invoke in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
      +[ALGoogleMediationAdapter currentOrientationAchoredAdaptiveBannerSizeWithWidth:] in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADAdLoader", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADAppOpenAd", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADBannerView", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADExtras", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADInterstitialAd", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
     (maybe you meant: _OBJC_CLASS_$_GADInterstitialAdBridgeV8)
  "_OBJC_CLASS_$_GADMediaView", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleNativeAdDelegate.o)
  "_OBJC_CLASS_$_GADMobileAds", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
     (maybe you meant: _OBJC_CLASS_$_GADMobileAdsBridge)
  "_OBJC_CLASS_$_GADNativeAdImageAdLoaderOptions", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADNativeAdView", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleNativeAd.o)
  "_OBJC_CLASS_$_GADNativeAdViewAdOptions", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
  "_OBJC_CLASS_$_GADQueryInfo", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
     (maybe you meant: _OBJC_CLASS_$_GADQueryInfoBridge)
  "_OBJC_CLASS_$_GADRequest", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
     (maybe you meant: _OBJC_CLASS_$_GADRequestBridge)
  "_OBJC_CLASS_$_GADRewardedAd", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
     (maybe you meant: _OBJC_CLASS_$_GADRewardedAdBridge, _OBJC_CLASS_$_GADRewardedAdBridgeV8 )
  "_OBJC_CLASS_$_GADRewardedInterstitialAd", referenced from:
      objc-class-ref in libGoogleAdapter.a(ALGoogleMediationAdapter.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

About the Firebase issue, we experience some unexpected behavior with Remote Config where app is not able to fetch Remote Config sometimes. We tested it on multiple devices and networks. This problem only occurs only when static linking is disabled. When we enable static linking as suggested by Firebase, we do not encounter this problem.

Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale This isue has been inactive label Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stale This isue has been inactive
Projects
None yet
Development

No branches or pull requests

3 participants