0

We're trying to troubleshoot a crash for a production application. From time to time, iOS is killing app on startup with the 0x8badf00d error.

For a specific case we detected during testing, this crash seems to be caused by Fabric initialization. We use Fabric only for Twitter login.

According documentation, initialization should be done on applicationDidFinishLaunching. If there is a 10 seconds delay initializing the library, it will timeout, consuming most of the available time to launch the app before being killed.

Since just a very small amount of users sign up with Twitter, we want to improve the app startup by changing how TwitterKit is initialized.

We found that background initialization is now allowed. Is there an official recommended setup approach for apps having a low use of TwitterKit so we don't risk delay startup to set it up? Can we do it on demand when needed? Should we move to TwitterKit 3.0 and get rid of Fabric?

I can't discard TwitterKit is not to blame... but logs seems to indicate that the main delay contributing to the crash was related to Fabric's init because of a failure reaching a Crashlytics endpoint for getting Fabric settings (https://settings.crashlytics.com/etc/etc..).

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Claudio Redi
  • 67,454
  • 15
  • 130
  • 155
  • Mike from Fabric here. This seems like a very odd issue, but I would recommend migrating to Twitter Kit 3.0 if that's the only part of Fabric you were using. – Mike Bonnell Jul 31 '17 at 13:12
  • Thanks @Mike Bonnell. Do you recommend any less invasive initialization approach for apps not using very intensively Twitter library? We have different social network logins and we know twitter is not used enough to delay app launch for everyone, even if the delay is very small most of the time. – Claudio Redi Jul 31 '17 at 21:07
  • You could look at Firebase Auth: https://firebase.google.com/docs/auth/ – Mike Bonnell Jul 31 '17 at 21:19

0 Answers0