googleads / googleads-mobile-unity

Official Unity Plugin for the Google Mobile Ads SDK
https://developers.google.com/admob/unity
Apache License 2.0
1.36k stars 1.08k forks source link

Release 11.7.0 crashes the iOS game during startup #3489

Open arcv opened 1 month ago

arcv commented 1 month ago

[REQUIRED] Step 1: Describe your environment

[REQUIRED] Step 2: Describe the problem

Steps to reproduce:

Install Google Admob SDK 9.2.0 from Unitypackage then install UnityAds 3.12.1 mediation adapter. Build XCode project with Pods enabled. Default Pod versions for Google-Mobile-Ads-SDK cause crash during game start-up.

Built the game on Mac Mini M2 Sonomo 14.5. Crashes happen in both Mac Mini and iPhone 12. When built with Google-Mobile-Ads-SDK 11.7.0, it causes the error below. I thought this was caused by InApp integration and disabled the InApps but it didn't solve the issue. Manually editing version of Google-Mobile-Ads-SDK to 11.1.0 in Podfile fixed though.

UnityIAP UnityEarlyTransactionObserver: Added to the payment queue -> applicationDidBecomeActive() Failed to look up symbolic reference at 0x124552381 - offset 1072551 - symbol symbolic _____Sg 14MarketplaceKit14AppDistributorO in /private/var/folders/18/yccyv73n1lx3r1zf_88t10_c0000gn/X/44E90429-D410-5C1F-AA2B-40C21D8FCE79/d/Wrapper/.app/Frameworks/UnityFramework.framework/UnityFramework

Relevant Code:

target 'UnityFramework' do
  pod 'GoogleMobileAdsMediationUnity', '4.12.1.0'
  pod 'Google-Mobile-Ads-SDK', '11.7.0' <- fixing version to 11.1.0 resolves the crash
end
TvaroshFlyboys commented 1 month ago

We have maybe an similar issue with our app. We have a mobile iOS app, which players download from the store to their MacBooks and started to report the crash on app start.

Users found out that if they delete Settings file located here: ~/library/containers/appName/data/Library/Application Support/GoogleMobileAds/Settings they run the app normally and can play. But the Settings file is automatically created again, which means that the next app start is a crash again... So they have to delete that Settings file before each app start.

Crashing happens only on MacBooks. iOS mobile phones works fine.

We are using Google-Mobile-Ads-SDK', '11.6.0'. We didnt have the crashing issue before with the version 11.3.0

TvaroshFlyboys commented 1 month ago

seems like the same issue

UnityIAP UnityEarlyTransactionObserver: Added to the payment queue -> applicationDidBecomeActive() Failed to look up symbolic reference at 0x114e4da59 - offset 1813919 - symbol symbolic _____Sg 14MarketplaceKit14AppDistributorO in /private/var/folders/g6/qglkwqm17qz6t76_x2gr8tr40000gn/X/EEB239EC-9F00-5E5A-8A38-F83E9F3B6639/d/Wrapper/appName.app/Frameworks/UnityFramework.framework/UnityFramework

arcv commented 1 month ago

@TvaroshFlyboys Could be an issue with Apple-side, not sure. MarketplaceKit seems to be a framework for alternative market provider.

TvaroshFlyboys commented 1 month ago

based on the release log of google mobile ads version 11.6.0, they've added dependency on the MarketplaceKit:

11.6.0 | 2024-06-17 | Added a dependency on MarketplaceKit. This requires apps to build with Xcode 15.3 or above.MarketplaceKit is Swift-only, so a Swift placeholder file has been added to the distribution so Swift standard libraries are included in apps even if they don't contain other Swift files.

but how I wrote in above post, the game starts if user deletes the Settings file, so looks like some issue with reading that file?

unfortunatelly we can't decrease the SDK denpendency version, because some other plugins requires at least 11.6.0

NVentimiglia commented 1 month ago

@arcv

I was not able to replicate this issue. Please confirm I should experience this crash when I run the XCode project on an iOS device.

TvaroshFlyboys commented 1 month ago

for us it is happening if you run iOS game on MacBook (design for iPad). First run is OK, but after the Settings file is created the second and next runs crashes. Also replicated in xCode, if we run target My Mac (design for iPad).

arcv commented 1 month ago

@NVentimiglia

@TvaroshFlyboys might be right, I test the game first on my Mac Mini then release to other testers. I will test the project on a different device too.

ikitae commented 3 weeks ago

crash on silicon mac

TvaroshFlyboys commented 3 weeks ago

is there any progress? or do you need more info?

Str4tos commented 3 weeks ago

My steps to reproduce the crash:

The first launch of iOS App on My Mac (Designed for iPhone) works without any issues. The second identical launch causes a crash.

The following actions do not resolve the issue:

My logs:

LSPrefs: could not find untranslocated node for <FSNode 0x6000039bc200> { isDir = ?, path = '/private/var/folders/z_/7gzbzjl96tvc953lz9c6rz740000gn/X/E6D65E5B-1C37-52A5-B741-E5A8FDFB15F0/d/Wrapper/TestApp.app' }, proceeding on the assumption it is not translocated: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"
Type: Error | Timestamp: 2024-08-20 09:16:42.552740+03:00 | Process: TestApp | Library: LaunchServices | Subsystem: com.apple.launchservices | Category: default | TID: 0x80ec

Failed to look up symbolic reference at 0x10735d8cf - offset 4264569 - symbol symbolic _____Sg 14MarketplaceKit14AppDistributorO in /private/var/folders/z_/7gzbzjl96tvc953lz9c6rz740000gn/X/E6D65E5B-1C37-52A5-B741-E5A8FDFB15F0/d/Wrapper/TestApp.app/TestApp
Type: stdio
MuhammadWaqasOfficial commented 2 weeks ago

Experiencing Same Crash: 1- Crash is not related to mediation, as tagged for mediation. 2- No crash observed on actual iphone device 3- Crashed when build and run for

4- Temp solution deleting Settings file as mentioned by @TvaroshFlyboys here 5- First time it won't crash, after that its keep crashing on launch.

Crash
ezefranca commented 1 week ago

The crash started in July, It's September and no Answers? The crashes particularly happens on iPad / macOS running iPad versions.

Str4tos commented 1 week ago

I found the answer from Google here: https://groups.google.com/g/google-admob-ads-sdk/c/VgOZsuGOI3w

Your concern is currently under investigation and we have no updates to provide at this time. However, our team is actively working on it. We appreciate your understanding and patience.

NVentimiglia commented 3 days ago

Hi Everyone,

We have verified the issue and recommend using iOS SDK version 11.5.0 or below. This can be done by modifying GoogleMobileAdsDependencies.xml.

We are working on a fix.