-
Notifications
You must be signed in to change notification settings - Fork 57
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 Crashes After "Allow" or "Ask App Not to Track" IDFA Consent Dialog #23
Comments
Here is the rest of the result of "lldb thread backtrace all": (I could not share it because of the comment limit.) thread #40
frame #0: 0x00000001e3976008 libsystem_kernel.dylib`__semwait_signal + 8
frame #1: 0x00000001ae39a7d8 libsystem_c.dylib`nanosleep + 220
frame #2: 0x00000001ae39b4a4 libsystem_c.dylib`usleep + 68
frame #3: 0x000000011188a9b4 UnityFramework`FMOD_OS_Time_Sleep(unsigned int) + 20
frame #4: 0x00000001118a7900 UnityFramework`FMOD::Thread::callback(void*) + 240
frame #5: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #41, name = 'com.apple.CoreMotion.MotionThread'
frame #0: 0x00000001e3975b48 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x00000001e3988008 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x00000001e3988248 libsystem_kernel.dylib`mach_msg_overwrite + 388
frame #3: 0x00000001e397608c libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x00000001a6df2af0 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x00000001a6df3d34 CoreFoundation`__CFRunLoopRun + 1232
frame #6: 0x00000001a6df8ed4 CoreFoundation`CFRunLoopRunSpecific + 612
frame #7: 0x00000001a6e3cd04 CoreFoundation`CFRunLoopRun + 64
frame #8: 0x00000001b231cec0 CoreMotion`___lldb_unnamed_symbol1616 + 1208
frame #9: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #42, name = 'Loading.PreloadManager'
frame #0: 0x00000001e3975ac4 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x00000001ae352578 libdispatch.dylib`_dispatch_sema4_wait + 28
frame #2: 0x00000001ae352c2c libdispatch.dylib`_dispatch_semaphore_wait_slow + 132
frame #3: 0x0000000111539b58 UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) [inlined] DarwinApi::detail::Acquire(_semaphore=(handle = 0x000000010af63b80), timeout=18446744073709551615) at Baselib_SystemSemaphore_DarwinApi.inl.h:36:24 [opt]
frame #4: 0x0000000111539b4c UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) [inlined] DarwinApi::Baselib_SystemSemaphore_Acquire(semaphore=(handle = 0x000000010af63b80)) at Baselib_SystemSemaphore_DarwinApi.inl.h:62:34 [opt]
frame #5: 0x0000000111539b4c UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(semaphore=(handle = 0x000000010af63b80)) at Baselib_SystemSemaphore_CProxy.inl.h:19:16 [opt]
frame #6: 0x0000000110c33b1c UnityFramework`::Run() [inlined] Baselib_Semaphore_Acquire at Baselib_Semaphore_SemaphoreBased.inl.h:52:5 [opt]
frame #7: 0x0000000110c33b14 UnityFramework`::Run() [inlined] WaitForSignal at Semaphore.h:23:13 [opt]
frame #8: 0x0000000110c33b14 UnityFramework`::Run() at PreloadManager.cpp:319:26 [opt]
frame #9: 0x0000000110c33a68 UnityFramework`::Run() at PreloadManager.cpp:182:13 [opt]
frame #10: 0x0000000110cd80c8 UnityFramework`::RunThreadWrapper() at Thread.cpp:107:14 [opt]
frame #11: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #43
frame #0: 0x00000001e3975ac4 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x000000011188adec UnityFramework`FMOD_OS_Semaphore_Wait(FMOD_OS_SEMAPHORE*) + 16
frame #2: 0x00000001118a7894 UnityFramework`FMOD::Thread::callback(void*) + 132
frame #3: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #45, name = 'com.apple.NSURLConnectionLoader'
frame #0: 0x00000001e3975b48 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x00000001e3988008 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x00000001e3988248 libsystem_kernel.dylib`mach_msg_overwrite + 388
frame #3: 0x00000001e397608c libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x00000001a6df2af0 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x00000001a6df3d34 CoreFoundation`__CFRunLoopRun + 1232
frame #6: 0x00000001a6df8ed4 CoreFoundation`CFRunLoopRunSpecific + 612
frame #7: 0x00000001a81505a8 CFNetwork`___lldb_unnamed_symbol14247 + 392
frame #8: 0x00000001a11bf808 Foundation`__NSThread__start__ + 716
frame #9: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #46, name = 'CloudJob.worker 0'
frame #0: 0x00000001e3975ac4 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x00000001ae352578 libdispatch.dylib`_dispatch_sema4_wait + 28
frame #2: 0x00000001ae352c2c libdispatch.dylib`_dispatch_semaphore_wait_slow + 132
frame #3: 0x0000000111539b58 UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) [inlined] DarwinApi::detail::Acquire(_semaphore=(handle = 0x0000000281943730), timeout=18446744073709551615) at Baselib_SystemSemaphore_DarwinApi.inl.h:36:24 [opt]
frame #4: 0x0000000111539b4c UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(UnityClassic::Baselib_SystemSemaphore_Handle) [inlined] DarwinApi::Baselib_SystemSemaphore_Acquire(semaphore=(handle = 0x0000000281943730)) at Baselib_SystemSemaphore_DarwinApi.inl.h:62:34 [opt]
frame #5: 0x0000000111539b4c UnityFramework`UnityClassic::Baselib_SystemSemaphore_Acquire(semaphore=(handle = 0x0000000281943730)) at Baselib_SystemSemaphore_CProxy.inl.h:19:16 [opt]
frame #6: 0x0000000110c08e78 UnityFramework`::lane_guts() [inlined] Baselib_Semaphore_Acquire at Baselib_Semaphore_SemaphoreBased.inl.h:52:5 [opt]
frame #7: 0x0000000110c08e70 UnityFramework`::lane_guts() [inlined] Wait at syncprim.h:93:9 [opt]
frame #8: 0x0000000110c08e70 UnityFramework`::lane_guts() at ujobs.cpp:1094:30 [opt]
frame #9: 0x0000000110c0968c UnityFramework`::worker_thread_routine() [inlined] lane_run_loop at ujobs.cpp:1140:9 [opt]
frame #10: 0x0000000110c09650 UnityFramework`::worker_thread_routine() at ujobs.cpp:1165:5 [opt]
frame #11: 0x0000000110cd80c8 UnityFramework`::RunThreadWrapper() at Thread.cpp:107:14 [opt]
frame #12: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #47, name = 'com.apple.CFStream.LegacyThread'
frame #0: 0x00000001e3975b48 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x00000001e3988008 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x00000001e3988248 libsystem_kernel.dylib`mach_msg_overwrite + 388
frame #3: 0x00000001e397608c libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x00000001a6df2af0 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x00000001a6df3d34 CoreFoundation`__CFRunLoopRun + 1232
frame #6: 0x00000001a6df8ed4 CoreFoundation`CFRunLoopRunSpecific + 612
frame #7: 0x00000001a6e8124c CoreFoundation`_legacyStreamRunLoop_workThread + 300
frame #8: 0x00000001f3dd86cc libsystem_pthread.dylib`_pthread_start + 148
thread #48
frame #0: 0x00000001f3dd7b90 libsystem_pthread.dylib`start_wqthread
thread #49
frame #0: 0x00000001f3dd7b90 libsystem_pthread.dylib`start_wqthread
thread #50
frame #0: 0x00000001f3dd7b90 libsystem_pthread.dylib`start_wqthread |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When the IDFA Consent Dialog is shown by GameAnalytics and the player chooses "Allow" or "Ask App Not to Track", the iOS Unity App crashes immediately. But It remembers what the player has chosen. If the player opens the game after crash, the IDFA Consent Dialog is not shown. Therefore, there is no crash. The game normally continues its lifetime.
I already added the "NSUserTrackingUsageDescription" property key as you can see above. The IDFA Consent Dialog shows it. If I do not add this property key, the app crashes and shows a log output in the XCode Console.
I also wrote a code for adding "NSUserTrackingUsageDescription" property key to Info.plist. You can put this in your SDK or Docs if you want.
Adding "NSUserTrackingUsageDescription" key to Info.plist inside Unity for IDFA Consent Dialog to show:
If the player disables its Tracking, the app normally starts without crashing because the IDFA Consent Dialog is not shown.
XCode Version: 15.1
Cocoapods Version: 1.14.3
macOS Version: macOS 14 - Sonoma
GameAnalytics Version: 7.7.2
Unity Version: 2022.3.2f1 LTS
iPhone Model Name: iPhone 11
iOS Version: 17.2.1
Also tested in another iPhone Model and iOS Version. The Unity app crashes as previously.
iPhone Model Name: iPhone XS
iOS Version: 16.1.1
Here is the result of "lldb thread backtrace all":
The text was updated successfully, but these errors were encountered: