本文翻译自Medium,原作者是Ryan Olson,原文地址
我永远都保持好奇。写FLEX debug工具的一大动力就是探索其它App,看看他们是怎么处理常规问题的。
一个星期一,我用越狱iPhone和FLEX的延伸版本,我分析了美国App Store的前100名免费App。
我从建立每个App的Objective-C类数据库开始。每个App平均有1175个类。数据库合计包含了超过181000个类。最多类的App超过了平均数的15倍。我打赌你能猜到是哪个App ;)。类最多的7个App都是由Facebook或Google做的。
接下来,我寻找了常规类名,并且尝试把它们和开源项目和第三方库匹配。5000个最常用的类对应了超过100个项目。
目前被用的最多是Facebook iOS SDK,在100个App出现了67次。其它分类还有网络用的AFNetworking(39次),错误报告用的Crashlytics(38次)。一些苹果范例代码项目也在很多App中出现,最流行的就是Reachability(38次)。最后,依赖管理器CocoaPods的迹象只在30个App中出现了,意味着很多开发者还在用老方法添加这些项目。下面的表格给出了项目的完整列表,包括每个在App中出现的次数。
Project,# of Top 100 Free Apps (US)
facebook-ios-sdk,67
Bolts-iOS,48
AFNetworking,39
Google-Mobile-Ads-SDK,38
Reachability (Apple),38
Crashlytics,37
Flurry-iOS-SDK,31
CocoaPods,30
GoogleConversionTracking,29
SDWebImage,26
Fabric,25
mopub-ios-sdk,25
Unity,23
AdColony,22
GoogleAnalytics,20
GTMLogger,19
comScore-iOS-SDK,18
google-plus-ios,18
OpenUDID,17
CocoaLumberjack,17
Adjust,16
ChartboostSDK,16
MBProgressHUD,16
OpenInChrome,15
TTTAttributedLabel,15
HockeySDK,14
google-breakpad,14
CocoaAsyncSocket,13
AppLovin,13
SBJson,13
FMDB,12
GLImageProcessing (Apple Sample),12
pop,12
SSZipArchive,12
Appirater,12
BPXLUUIDHandler,11
VungleSDK-iOS,11
Protobuf,11
UnityAds,11
SSKeychain,10
KeychainItemWrapper,10
PLCrashReporter,10
secureudid,10
libPhoneNumber-iOS,10
oauthconsumer,10
InMobiSDK,9
MobileAppTracker,9
TapjoySDK,9
TrustDefender Mobile,9
iRate,9
OnePasswordExtension,8
SFHFKeychainUtils,8
Tweaks,8
cocos2d,8
GPUImage,8
KVOController,8
Nimbus,8
google-cast-sdk,8
HPGrowingTextView,7
Localytics,7
thrift,7
FormatterKit,7
Kochava,7
Mantle,7
Mixpanel,7
AppNexusSDK,7
JSONKit,7
NJKWebViewProgress,7
cocos2d-x,7
TouchJSON,7
SupersonicAds,6
TPKeyboardAvoiding,6
SponsorPaySDK,6
PhotoScroller (Apple),6
TwitterKit,6
SpeechKit,6
ReactiveCocoa,6
UICKeyChainStore,6
WeChatSDK,6
XMLDictionary,6
SVProgressHUD,5
SocketRocket,5
libextobjc,5
Shimmer,5
TransitionKit,5
AsyncDisplayKit,5
SnowplowTracker,5
aws-sdk-ios,5
SVPullToRefresh,5
MMWormhole,5
Masonry,5
UIAlertView+Blocks,5
FLAnimatedImage,5
AppsFlyer-SDK,5
CardIO,5
TMCache,5
youtube-ios-player-helper,5
Weibo,4
Parse,4
MagicalRecord,4
GoogleMaps,4
GoogleAds-IMA-iOS-SDK,4
Braintree,4
PSPDFTextView,4
FXBlurView,4
ASIHTTPRequest,4
探索其它App是扩展你的iOS知识的绝佳方式。如果你曾经好奇App内部的东西,我强烈推荐你自己去发现!