Wednesday, April 12, 2017

Analysis of the Facebook iOS App Bundle

Alexandre Colucci:

The version 87.0 is now available: 253 MB on the same iPad Air 2 with only 64-bit code. In just 6 months, the size grew by 88 MB!


One of the reason the app size grew is due to multiple copies of the same resources inside the app.


When analyzing the version 66.0 I completely missed some amusing Objective-C interfaces, protocols and methods:

@protocol FBDeprecatedAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@protocol FBLoginFacilitatingAppModule <fbdeprecatedappmodule_do_not_use_or_you_will_be_fired>
@interface FBTimelineModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBNotificationsModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBProductionLockoutModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBSearchModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED

John Gruber:

It’s the most popular third-party app in the world, and it’s structured like a pile of garbage.

Previously: The Facebook App’s 18,000 Classes.

Update (2017-04-15): Lawrence Velázquez:

Happened across an old Facebook .ipa on a SuperDuper clone. The years have not been kind.

Update (2017-04-16): Alexandre Colucci:

The version 88.0 of the has now been released[…] As you can see from the smaller download size, the duplicated resources have been removed.

Comments RSS · Twitter

Leave a Comment