There were widespread reports on social media of apps crashing whenever launched on iPhones and iPads, and corresponding outage spikes on DownDetector.com.
The cause of the outages seems to have been Facebook’s software development kit, or SDK, which many apps use to manage user logins. Users don’t have to be using Facebook to log into an app for this to affect their software (they don’t even have to have it installed), and there were no reports of the same apps crashing on Android.
Facebook acknowledged on its developer platform this morning that its software was causing problems. “We are aware and investigating an increase in errors on the iOS SDK which is causing some apps to crash,” said the firm. In a GitHub thread posted around 7AM ET, numerous developers reported problems with their apps and blamed Facebook, too.
By around 9.30AM ET, though, most users were reporting that the apps were working again, and by 10.30AM ET Facebook had marked the issue as “resolved.”
“Earlier today, a code change triggered crashes for some iOS apps using the Facebook SDK,” a company spokesperson told The Verge by email. “We identified the issue quickly and resolved it. We apologize for any inconvenience.”
The annoyance from developers and users was justified, though, considering that this isn’t the first time that Facebook’s SDK has knocked out a large number of apps. A near-identical problem occurred on May 6th and affected dozens of services for a good chunk of the day.
As app developer Guilherme Rambo told us at the time, the root of the issue is that Facebook encourages developers to integrate its log-in services into their apps by offering them valuable insights about app usage and advertising in return.
“Facebook really pushes developers into installing their SDK, likely because they want the very rich data they can collect on those app’s users,” said Rambo in May. “The SDK is offered as a convenience for both developers and marketing teams, since it can also be used to track the conversions of ads run through Facebook.”
This means when there’s an issue with Facebook’s services, it affect a huge number of other apps, as it has today. Every time a user opens an app using the SDK, it makes a call to Facebook’s servers in preparation to authenticate any logins. (That’s why opening an app offline prevents the problem, although you can install an app that blocks these calls.)