singular-labs/Singular-iOS-SDK

10.2.2 AdServices Crashes on older iOS versions

Closed this issue · 1 comments

It seems like 10.2.2 is causing crashes on older versions of iOS. We aren't seeing any attributions for versions of iOS before 14.3, so I'm guessing that the binary is referencing AdServices without an iOS version guard.

Here's a stack trace for the crash we are seeing:

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
Termination Reason:    DYLD, [0x1] Library missing
Application Specific Information:
dyld: launch, loading dependent libraries
DYLD_SHARED_CACHE_DIR=/Users/example/Library/Developer/CoreSimulator/Caches/dyld/20D74/com.apple.CoreSimulator.SimRuntime.iOS-13-5.17F61
DYLD_ROOT_PATH=/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot
DYLD_FALLBACK_FRAMEWORK_PATH=/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
DYLD_FALLBACK_LIBRARY_PATH=/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib
Dyld Error Message:
  Library not loaded: /System/Library/Frameworks/AdServices.framework/AdServices
  Referenced from: /Users/USER/Library/Developer/CoreSimulator/Devices/F1E7DFC9-D748-4243-9E0D-22DFC76BB8DF/data/Containers/Bundle/Application/DD8251A5-9FDD-47DF-A816-49AFDF4A8354/Truebill.app/Truebill
  Reason: image not found
Binary Images:
       0x10bfeb000 -        0x10db1efff +com.truebill.truebillnative (0.0.0 - 1) <D9E12E1B-AAC9-353E-B6FA-BECD69400FC3> /Users/USER/Library/Developer/CoreSimulator/Devices/F1E7DFC9-D748-4243-9E0D-22DFC76BB8DF/data/Containers/Bundle/Application/DD8251A5-9FDD-47DF-A816-49AFDF4A8354/Truebill.app/Truebill
       0x110cf7000 -        0x110d4cfff +dyld_sim (750.4.2) <548289A2-DC22-3BAA-A2F6-01EADE8D86D7> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim
       0x11234d000 -        0x1123e8fff  dyld (832.7.3) <0D4EA85F-7E30-338B-9215-314A5A5539B6> /usr/lib/dyld
    0x7fff20c58000 -     0x7fff20c58fff  com.apple.Accelerate (1.11 - Accelerate 1.11) <4D17CB73-A8F3-3DA5-8911-32D1979DD1EB> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Accelerate.framework/Accelerate
    0x7fff4f994000 -     0x7fff4f9e6fff +libc++.1.dylib (902) <E66AB5AE-6509-32BD-9EB5-500F2FA11C97> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++.1.dylib
    0x7fff4fd6b000 -     0x7fff4fe5bfff +libiconv.2.dylib (59) <B860DECD-32AB-3299-B6DB-8BC58AD034F7> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libiconv.2.dylib
    0x7fff4fe5c000 -     0x7fff500aefff +libicucore.A.dylib (64260.0.2) <D0EF0A03-35F8-365F-AD76-F6A2FB09BC8B> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libicucore.A.dylib
    0x7fff50c75000 -     0x7fff50e11fff +libsqlite3.dylib (308.5) <E7EBB069-59E7-301D-A401-C8CCA87D37F3> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libsqlite3.dylib
    0x7fff50ea0000 -     0x7fff50f82fff +libxml2.2.dylib (33.3) <24CBABA8-65A9-38C2-9F90-17543EFE9883> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libxml2.2.dylib
    0x7fff50faf000 -     0x7fff50fc1fff +libz.1.dylib (76) <4F21CAEB-4E11-3072-BE30-DD019A5CA07C> /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 13.5.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libz.1.dylib

Hi @toddtreece Thank you for informing us.

The pod was added with a library that is only supported in iOS 14.3 by mistake.
We removed it as a dependency and it solved the problem.
I spent entire yesterday fixing and testing thoroughly because i know the iOS SDK was unstable in the last week.

To solve the issue we recommend doing the following.

  1. comment out the SDK in the pod file and run pod install
  2. run pod cache clean
  3. uncomment our SDK and run pod install again.

We apologize for all the latest incidents.
I personally wanted to let you know we have stopped working next releases in order to expand our coverage and regression tests to prevent these issues from happening again.