29 comments

[ 5.8 ms ] story [ 88.9 ms ] thread
Not viewable on mobile Safari. Is that some kind of joke?
I was able to view it on mobile Safari just fine.
Pretty surprising to see Alamofire above AFNetworking given that AFNetworking is the Objective-C variant and Alamofire is for Swift. That almost seems to indicate that there are more Swift apps in the top 200 then Objective-C apps. Of course one can use Alamofire in Objective-C, but that just seems like making your life harder than it needs to be
We found that interesting too. You can see the apps that upgrade from Objective-C to Swift as well when they uninstall AFNetworking for Alamofire. It's usually accompanied by a huge overhaul of a bunch of SDKs.
Note that these are the top 200 trending apps (not most used or popular iOS apps), so the data set will skew towards newer (and more likely to be written in Swift) apps.
Much love to AFNetworking and SDWebImage. Thanks for all the spare time you've given me.
Saved me so much time when I was developing my apps
What surprised me:

* Spark-SDK – This is for controlling IoT devices, why does Snapchat, Netflix and Spotify ship this?

* Squareup – Do people use this over Stripe? Or what is the use case?

Yes, that's really surprising.

Maybe a name clash ?

Very cool, I love seeing something like this as opposed to just asking people what they recommend or looking at git activity alone.
Very interesting - does anyone know exactly what techniques they use to gather this data?

I'm guessing to some extent it must rely on a jailbroken iOS to get past the .ipa code encryption, as with this similar analysis: https://medium.com/ios-os-x-development/libraries-used-in-th...

I'm not 100% sure, but I don't think ObjectiveC metadata is covered by the Fairplay code encryption.

If that is the case, then you can just download the .ipas using iTunes, and then run classdump ( http://stevenygard.com/projects/class-dump/ ) on them to get a list of ObjC classes. From the class names, you can then figure out which frameworks are linked in the app binary.

No jailbreak required :)

I didn't do it at first, most probably did, but if you click through to the Top 200 themselves and select an app, you can see all the SDKs the app uses. Pretty cool.
Yep. We've actually collected SDK data on around 350K iOS apps and over 1M Android apps, and can scan new ones on the spot (Live Scan).
this is cool stuff, we are doing similar things at beta.verify.ly (although more of a security focus rather than BI)

how much fun did you have figuring out generation of kbsync and the crazy iTunes otp / auth tokens? :)

I totally read that headline wrong at first glance, "TOP 200 most used SDKs used in iOS apps" ;)
I never heard about Fabric. Can't seem to understand what they do from their website. There is no mention of what it does on the home page. Is this some sort of an analytics library?
The branding is very confusing and ends up adding a bunch of buzzwords instead of explaining what it is.

On a side note, why do people use closed source Crashlytics, when there are open source solutions available (still run by for profit companies, but source of their SDKs are open)?

It's really quite a nice crash reporting product. I think that outweighs the closed-source point for a lot of folks.
Totally agree. Once you get used to it, it's very well done and great UI.
Alamofire (an all-Swift library) is linked in 31% more of the top 200 free apps than AFNetworking (an all-Objective C library). I guess Swift is still making headway into Big Apps...

Also, 6 apps are still using ASIHTTPRequest, despite the last release being 5 years ago.

Worse still, 3 apps use a combination of ASIHTTPRequest, AFNetworking, and Alamofire - that's a library that was abandoned 5 years ago, an Objective-C library, and a Swift library. Oh man.

Keep in mind that some SDKs have internal dependencies. Those apps could just be linking a set of SDKs that happen to include those 3 networking libraries.
MBProgressHUD? Really? It's not that hard to write your own progress indicator.
Why even bother to write your own though if theres a good solution available