前言
一個(gè)APP的誕生肯定少不了站在巨人的肩膀上,所以使用這些開源的庫,可以讓你的開發(fā)更加的順利,快速。
網(wǎng)絡(luò)請(qǐng)求
-
Alamofire (Swift)
封裝好的網(wǎng)絡(luò)請(qǐng)求參考這里 - AFNetworking (OC)
-
SwiftyJSON (Swift)
Swift中網(wǎng)絡(luò)請(qǐng)求的數(shù)據(jù)處理,使用起來非常非常方便,文檔中用法也非常詳細(xì)
MVC(Model數(shù)據(jù)轉(zhuǎn)模型相關(guān))
ObjectMapper(Swift)
Swift中Model數(shù)據(jù)轉(zhuǎn)模型使用,是MVC架構(gòu)中綁定數(shù)據(jù)很有用的框架
使用方法參考EZSwiftExtensions(OC)
OC 中數(shù)據(jù)轉(zhuǎn)模型使用框架,具體用法Github上也有詳細(xì)的講解MJExtension(OC)
轉(zhuǎn)換速度快、使用簡單方便的字典轉(zhuǎn)模型框架AlamofireObjectMapper
配合** ObjectMapper**使用的網(wǎng)絡(luò)請(qǐng)求擴(kuò)展MBNetWork
基于 Alamofire 封裝的網(wǎng)絡(luò)請(qǐng)求庫,可以更方便地在視圖上展示請(qǐng)求狀態(tài)。配合Alamofire,ObjectMapper,AlamofireObjectMapper使用HandyJSON(Swift)
HandyJSON是一個(gè)用于Swift語言中的JSON序列化/反序列化庫。
與其他流行的Swift JSON庫相比,HandyJSON的特點(diǎn)是,它支持純swift類,使用也簡單。它反序列化時(shí)(把JSON轉(zhuǎn)換為Model)不要求Model從NSObject繼承(因?yàn)樗皇腔贙VC機(jī)制),也不要求你為Model定義一個(gè)Mapping函數(shù)。只要你定義好Model類,聲明它服從HandyJSON協(xié)議,HandyJSON就能自行以各個(gè)屬性的屬性名為Key,從JSON串中解析值。
圖片加載
- SDWebImage(OC)
-
Kingfisher (Swift)
網(wǎng)絡(luò)圖片加載,可以添加默認(rèn)圖片等,會(huì)對(duì)網(wǎng)絡(luò)圖片進(jìn)行緩存
界面布局
Masonry(OC)
布局約束非常好用的框架,詳情參見githubSnapKit (Swift)
布局約束非常好用的框架,為Masonry的Swift版,詳細(xì)的用法可參考航哥知識(shí)平臺(tái)
鍵盤
-
IQKeyboardManager (Swift&&OC)
你還在為處理鍵盤的彈出收起而苦惱嗎?處理鍵盤遮擋問題,誰用誰知道,導(dǎo)入即可使用,不用增加代碼。
//幾個(gè)屬性,可在某些特殊界面定制
#import <IQKeyboardManager/IQKeyboardManager.h>
[IQKeyboardManager sharedManager].enable = YES; //是否啟用
[IQKeyboardManager sharedManager].enableAutoToolbar = YES;//是否顯示上面的toolbar
[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = NO;//是否點(diǎn)擊空白區(qū)域隱藏鍵盤
界面
MBProgressHUD (OC)
HUD&Toast的顯示,最好是自己封裝下再使用,封裝參考iCarousel (OC)
滑動(dòng)輪播圖,可實(shí)現(xiàn)多種樣式的滑動(dòng)輪播效果CNPPopupController(OC)
彈窗,比較輕便的一個(gè)pop組件,用起來還不錯(cuò)SDCycleScrollView(OC)
輪播圖控件,無限循環(huán)圖片、文字輪播器。JXCategoryView(OC)
騰訊新聞、今日頭條、QQ音樂、網(wǎng)易云音樂、京東、愛奇藝、騰訊視頻、淘寶、天貓、簡書、微博等所有主流APP分類切換滾動(dòng)視圖-
EasyTipView(Swift&&OC)
友好地對(duì)用戶展示操作提示庫
屏幕快照 2016-12-29 上午10.59.49.png XLActionController(Swift)
樣式豐富的 Action Sheet 組件。LCActionSheet(OC)
仿微信的Action sheet組件HHTransition(OC)轉(zhuǎn)場(chǎng)動(dòng)畫
各種主流的轉(zhuǎn)場(chǎng)效果都有簡書地址AGGeometryKit
圖像形變處理庫,可以處理一些不規(guī)則形變, 下面是一些實(shí)例代碼
- (void)initView {
UIImageView *view = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 1, 1)]; // create a view
view.image = [UIImage imageNamed:@"img_190"];
[self.view addSubview:view];
[view.layer ensureAnchorPointIsSetToZero]; // set the anchor point to [0, 0] (this method keeps the same position)
AGKQuad quad = view.layer.quadrilateral;
quad.br.x += 20; // shift bottom right x-value with 20 pixels
quad.br.y += 50; // shift bottom right y-value with 50 pixels
quad.tr.x += 30;
view.layer.quadrilateral = quad; // the quad is converted to CATransform3D and applied
}
navigationBar&&statusBar
-
FDFullscreenPopGesture(OC)
絲滑的處理導(dǎo)航欄的顯示和隱藏,直接導(dǎo)入項(xiàng)目中,不需要加入一行代碼,下面是比較常用的兩個(gè)設(shè)置。
//單個(gè)viewController 關(guān)閉側(cè)滑手勢(shì)
self.fd_interactivePopDisabled = YES;
//隱藏NavBar
self.fd_prefersNavigationBarHidden = YES;
WRNavigationBar(OC)
超簡單!??! 一行代碼設(shè)置狀態(tài)欄、導(dǎo)航欄按鈕、標(biāo)題、顏色、透明度,移動(dòng)等WELCustomStatusbarColor
一行代碼更改狀態(tài)欄的顏色
動(dòng)畫
spruce-ios(Swift)
輕便的動(dòng)畫庫,可以嘗試使用,讓app更吸引人lottie-ios
Lottie是一個(gè)可以解析使用【bodymovin】插件從 Adobe After Effects中導(dǎo)出的格式為 json 的文件,并在 iOS、Android、macOS、React Native 中進(jìn)行解析使用的開源庫。
刷新
-
MJRefresh(OC)
上拉加載,下拉刷新,可以自定義實(shí)現(xiàn)多種樣式
日期選擇器
DatePicker(OC)
很方便實(shí)用的一個(gè)日期選擇器SZCalendarPicker(OC)
按日展示的日期選擇器
照片選擇
-
TZImagePickerController
一個(gè)支持多選、選原圖和視頻的圖片選擇器,同時(shí)有預(yù)覽、裁剪功能,支持iOS6+,微信風(fēng)格
日歷
-
FSCalendar
好用的日歷控件
工具
-
TalkingData
移動(dòng)數(shù)據(jù)服務(wù)平臺(tái),可以對(duì)app進(jìn)行多方面的監(jiān)測(cè),用于統(tǒng)計(jì)數(shù)據(jù)分析等。 -
信鴿推送
顧名思義,是移動(dòng)App推送平臺(tái) -
ShareSDK
提供社會(huì)化功能,集成了一些常用的類庫和接口,縮短開發(fā)者的開發(fā)時(shí)間,還有社會(huì)化統(tǒng)計(jì)分析管理后臺(tái),支持包括QQ、微信、新浪微博、騰訊微博等國內(nèi)外40多家的主流社交平臺(tái),幫助開發(fā)者輕松實(shí)現(xiàn)社會(huì)化分享、登錄、關(guān)注、獲得用戶資料、獲取好友列表等主流的社會(huì)化功能。 -
騰訊Bugly
騰訊Bugly,為移動(dòng)開發(fā)者提供專業(yè)的異常上報(bào),運(yùn)營統(tǒng)計(jì)和內(nèi)測(cè)分發(fā)解決方案,幫助開發(fā)者快速發(fā)現(xiàn)并解決異常,同時(shí)掌握產(chǎn)品運(yùn)營動(dòng)態(tài),及時(shí)跟進(jìn)用戶反饋。
存儲(chǔ)相關(guān)
SwiftyUserDefaults
對(duì)UserDefaults做了進(jìn)一步的封裝,使用起來比較方便。MagicalRecord
CoreData 數(shù)據(jù)存儲(chǔ)管理工具,可以方便的增刪改查,玩轉(zhuǎn)CoreData必備的工具
相機(jī)相冊(cè)圖片處理
-
PhotoPicker(Swift)
類似微信的實(shí)現(xiàn)照片多選的功能 -
TZImagePickerController(OC)
一個(gè)支持多選、選原圖和視頻的圖片選擇器,同時(shí)有預(yù)覽、裁剪功能
其他
-
OCR(OC)
身份證掃描,識(shí)別速度特別快,可以快速識(shí)別出身份證正反面所有的信息,但是使用了這個(gè)框架后就不能用模擬器進(jìn)行運(yùn)行程序了,會(huì)報(bào)錯(cuò),具體解決辦法我也沒找到,如果你解決了請(qǐng)留言給我,謝謝。 -
card.io-iOS-SDK
銀行卡識(shí)別框架,具體使用參考 -
PPGetAddressBookSwift
通訊錄的處理,可以自己設(shè)置通訊錄排列樣式 -
EZSwiftExtensions
swift中的各種Extensions,總有方便你使用的 -
KMCGeigerCounter(OC)
監(jiān)測(cè)app的卡頓情況,具體介紹參考
注:使用時(shí)注意文章最后的PS,加在AppDelegate中會(huì)報(bào)錯(cuò)的,要加載viewController中 -
MLeaksFinder(OC)
監(jiān)測(cè)app有無內(nèi)存泄漏情況,直接導(dǎo)入就可以,不用添加任何代碼,在有內(nèi)存泄露的界面就會(huì)彈出窗口提醒。
