iOS 12-only Crash on - [GAIAnalyticsPropertiesStore upsertPropertyRecord:]

Joe*_*Joe 8 google-analytics

无法重现,但通过崩解剂报告了大量崩溃.

请参阅下面的崩溃日志 如果需要更多信息,请告诉我们......

仅在运行iOS 12.0/12.1的设备上崩溃

使用GoogleAnalytics 3.17.0(最新)

崩溃发生在:

8  -----                          0x10148534c -[GAIAnalyticsPropertiesStore upsertPropertyRecord:] + 4383150924
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助和建议.谢谢!

坠毁:GAIThread

0 libsystem_platform.dylib 0x1bf912f3c _os_unfair_lock_unowned_abort + 36

1 libsystem_platform.dylib 0x1bf914524 _os_unfair_lock_unlock_slow + 144

2 libsqlite3.dylib 0x1c017e18c sqlite3_randomness + 4368

3 libsqlite3.dylib 0x1c015d878 sqlite3_value_text + 26356

4 libsqlite3.dylib 0x1c015d250 sqlite3_value_text + 24780

5 libsqlite3.dylib 0x1c0128434 sqlite3_finalize + 3732

6 libsqlite3.dylib 0x1c01557d0 sqlite3_step + 66844

7 libsqlite3.dylib 0x1c0145464 sqlite3_step + 432

8 ----- 0x10148534c - [GAIAnalyticsPropertiesStore upsertPropertyRecord:] + 4383150924

9 ----- 0x101484ddc - [GAIAnalyticsPropertiesStore nextHitNumberForTrackingId:clientId:] + 4383149532

10 ----- 0x10147eb00 - [GAIBatchingDispatcher queueDispatch:] + 4383124224

11 ----- 0x10147e91c - [GAIBatchingDispatcher queueModel:] + 4383123740

12基础0x1c07bb5a0 __NSThreadPerformPerform + 336

13 CoreFoundation 0x1bfc9a5b8 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 24

14 CoreFoundation 0x1bfc9a538 __CFRunLoopDoSource0 + 88

15 CoreFoundation 0x1bfc99e1c __CFRunLoopDoSources0 + 176

16 CoreFoundation 0x1bfc94ce8 __CFRunLoopRun + 1040

17 CoreFoundation 0x1bfc945b8 CFRunLoopRunSpecific + 436

18基金会0x1c06886a4 - [NSRunLoop(NSRunLoop)runMode:beforeDate:] + 300

19基金会0x1c06c4094 - [NSRunLoop(NSRunLoop)运行] +88

20 ----- 0x10146bf14 + [GAI threadMain:] + 4383047444

21基金会0x1c07bb3b0 NSThread__start + 1040

22 libsystem_pthread.dylib 0x1bf9252fc _pthread_body + 128

23 libsystem_pthread.dylib 0x1bf92525c _pthread_start + 48

24 libsystem_pthread.dylib 0x1bf928d08 thread_start + 4

-

更新:

我做了一些似乎有所帮助的改变.该应用程序仍在崩溃,但不太频繁.我还添加了日志语句,以帮助确定崩溃的位置和时间.

我所做的改变似乎有助于增加dispatchInterval的值(之前设置为20)......

[GAI sharedInstance].dispatchInterval = 60;
Run Code Online (Sandbox Code Playgroud)

此外,只有当应用程序启动和/或在尝试跟踪应用程序委托方法中的事件时变为活动状态时,才会发生崩溃...

- (void)applicationDidBecomeActive:(UIApplication *)application {
        ...
        GA_EVENT(@"App Launch", @"", @"App Launched", 0);
        // NOTE: GA_EVENT defines a custom method that creates the event (GAIDictionaryBuilder) 
        // and invokes the GAITracker's send method with the event per usual.        
        // This approach is used throughout the app and was working fine prior 
        // to iOS 12, but is now causing a crash here for some reason
        ...
}
Run Code Online (Sandbox Code Playgroud)

最后,如果这是GA SDK的错误,我在他们的错误跟踪器中创建了一个问题.根据我的研究,上次报告这次崩溃似乎需要更新他们的SDK.所以,也许这就是这种情况.我们会看到我是否听到了Google神的回复......

https://issuetracker.google.com/issues/117476933

Raj*_*ana 0

经过几天几夜的不眠之夜,我们找到了解决这个问题的办法。在我们的案例中,该问题是由 Apsalar SDK 导致的。如果您在项目中使用 Apsalar SDK,我强烈建议您从 Apsalar 迁移到 Singular SDK。Singular SDK涵盖了Apsalar提供的所有功能。因此,您不必担心丢失任何功能或更改大量代码。

您可以从以下链接下载 Singular SDK:https://support.singular.net/hc/en-us/articles/115000497903-Integrating-the-Singular-SDK