本文翻譯自Medium,原作者是Ryan Olson,原文地址
我永遠都保持好奇。寫FLEX debug工具的一大動力就是探索其它App,看看他們是怎么處理常規(guī)問題的。
一個星期一,我用越獄iPhone和FLEX的延伸版本,我分析了美國App Store的前100名免費App。
我從建立每個App的Objective-C類數(shù)據(jù)庫開始。每個App平均有1175個類。數(shù)據(jù)庫合計包含了超過181000個類。最多類的App超過了平均數(shù)的15倍。我打賭你能猜到是哪個App ;)。類最多的7個App都是由Facebook或Google做的。
接下來,我尋找了常規(guī)類名,并且嘗試把它們和開源項目和第三方庫匹配。5000個最常用的類對應(yīng)了超過100個項目。
目前被用的最多是Facebook iOS SDK,在100個App出現(xiàn)了67次。其它分類還有網(wǎng)絡(luò)用的AFNetworking(39次),錯誤報告用的Crashlytics(38次)。一些蘋果范例代碼項目也在很多App中出現(xiàn),最流行的就是Reachability(38次)。最后,依賴管理器CocoaPods的跡象只在30個App中出現(xiàn)了,意味著很多開發(fā)者還在用老方法添加這些項目。下面的表格給出了項目的完整列表,包括每個在App中出現(xiàn)的次數(shù)。
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知識的絕佳方式。如果你曾經(jīng)好奇App內(nèi)部的東西,我強烈推薦你自己去發(fā)現(xiàn)!