前言
一個APP的誕生肯定少不了站在巨人的肩膀上晕拆,所以使用這些開源的庫讼渊,可以讓你的開發(fā)更加的順利议忽,快速喷楣。
網(wǎng)絡(luò)請求
-
Alamofire (Swift)
封裝好的網(wǎng)絡(luò)請求參考這里 - AFNetworking (OC)
-
SwiftyJSON (Swift)
Swift中網(wǎng)絡(luò)請求的數(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ò)請求擴(kuò)展MBNetWork
基于 Alamofire 封裝的網(wǎng)絡(luò)請求庫,可以更方便地在視圖上展示請求狀態(tài)闸溃。配合Alamofire,ObjectMapper织阅,AlamofireObjectMapper使用HandyJSON(Swift)
HandyJSON是一個用于Swift語言中的JSON序列化/反序列化庫追他。
與其他流行的Swift JSON庫相比,HandyJSON的特點是缆毁,它支持純swift類番川,使用也簡單。它反序列化時(把JSON轉(zhuǎn)換為Model)不要求Model從NSObject繼承(因為它不是基于KVC機(jī)制)脊框,也不要求你為Model定義一個Mapping函數(shù)颁督。只要你定義好Model類,聲明它服從HandyJSON協(xié)議浇雹,HandyJSON就能自行以各個屬性的屬性名為Key沉御,從JSON串中解析值。
圖片加載
- SDWebImage(OC)
-
Kingfisher (Swift)
網(wǎng)絡(luò)圖片加載昭灵,可以添加默認(rèn)圖片等吠裆,會對網(wǎng)絡(luò)圖片進(jìn)行緩存
界面布局
Masonry(OC)
布局約束非常好用的框架,詳情參見githubSnapKit (Swift)
布局約束非常好用的框架,為Masonry的Swift版,詳細(xì)的用法可參考航哥知識平臺
鍵盤
-
IQKeyboardManager (Swift&&OC)
你還在為處理鍵盤的彈出收起而苦惱嗎烂完?處理鍵盤遮擋問題试疙,誰用誰知道,導(dǎo)入即可使用抠蚣,不用增加代碼祝旷。
//幾個屬性,可在某些特殊界面定制
#import <IQKeyboardManager/IQKeyboardManager.h>
[IQKeyboardManager sharedManager].enable = YES; //是否啟用
[IQKeyboardManager sharedManager].enableAutoToolbar = YES;//是否顯示上面的toolbar
[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = NO;//是否點擊空白區(qū)域隱藏鍵盤
界面
MBProgressHUD (OC)
HUD&Toast的顯示嘶窄,最好是自己封裝下再使用缓屠,封裝參考iCarousel (OC)
滑動輪播圖,可實現(xiàn)多種樣式的滑動輪播效果CNPPopupController(OC)
彈窗,比較輕便的一個pop組件,用起來還不錯SDCycleScrollView(OC)
輪播圖控件护侮,無限循環(huán)圖片敌完、文字輪播器。JXCategoryView(OC)
騰訊新聞羊初、今日頭條滨溉、QQ音樂什湘、網(wǎng)易云音樂、京東晦攒、愛奇藝闽撤、騰訊視頻、淘寶脯颜、天貓哟旗、簡書、微博等所有主流APP分類切換滾動視圖-
EasyTipView(Swift&&OC)
友好地對用戶展示操作提示庫
XLActionController(Swift)
樣式豐富的 Action Sheet 組件栋操。LCActionSheet(OC)
仿微信的Action sheet組件HHTransition(OC)轉(zhuǎn)場動畫
各種主流的轉(zhuǎn)場效果都有簡書地址AGGeometryKit
圖像形變處理庫闸餐,可以處理一些不規(guī)則形變, 下面是一些實例代碼
- (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)入項目中,不需要加入一行代碼,下面是比較常用的兩個設(shè)置矾芙。
//單個viewController 關(guān)閉側(cè)滑手勢
self.fd_interactivePopDisabled = YES;
//隱藏NavBar
self.fd_prefersNavigationBarHidden = YES;
WRNavigationBar(OC)
超簡單I嵘场!剔宪! 一行代碼設(shè)置狀態(tài)欄拂铡、導(dǎo)航欄按鈕、標(biāo)題葱绒、顏色感帅、透明度,移動等WELCustomStatusbarColor
一行代碼更改狀態(tài)欄的顏色
動畫
spruce-ios(Swift)
輕便的動畫庫地淀,可以嘗試使用失球,讓app更吸引人lottie-ios
Lottie是一個可以解析使用【bodymovin】插件從 Adobe After Effects中導(dǎo)出的格式為 json 的文件,并在 iOS骚秦、Android、macOS璧微、React Native 中進(jìn)行解析使用的開源庫作箍。
刷新
-
MJRefresh(OC)
上拉加載,下拉刷新前硫,可以自定義實現(xiàn)多種樣式
日期選擇器
DatePicker(OC)
很方便實用的一個日期選擇器SZCalendarPicker(OC)
按日展示的日期選擇器
照片選擇
-
TZImagePickerController
一個支持多選胞得、選原圖和視頻的圖片選擇器,同時有預(yù)覽屹电、裁剪功能阶剑,支持iOS6+,微信風(fēng)格
日歷
-
FSCalendar
好用的日歷控件
工具
-
TalkingData
移動數(shù)據(jù)服務(wù)平臺,可以對app進(jìn)行多方面的監(jiān)測危号,用于統(tǒng)計數(shù)據(jù)分析等牧愁。 -
信鴿推送
顧名思義,是移動App推送平臺 -
ShareSDK
提供社會化功能外莲,集成了一些常用的類庫和接口猪半,縮短開發(fā)者的開發(fā)時間兔朦,還有社會化統(tǒng)計分析管理后臺,支持包括QQ磨确、微信沽甥、新浪微博、騰訊微博等國內(nèi)外40多家的主流社交平臺乏奥,幫助開發(fā)者輕松實現(xiàn)社會化分享摆舟、登錄、關(guān)注邓了、獲得用戶資料恨诱、獲取好友列表等主流的社會化功能。 -
騰訊Bugly
騰訊Bugly驶悟,為移動開發(fā)者提供專業(yè)的異常上報胡野,運營統(tǒng)計和內(nèi)測分發(fā)解決方案,幫助開發(fā)者快速發(fā)現(xiàn)并解決異常痕鳍,同時掌握產(chǎn)品運營動態(tài)硫豆,及時跟進(jìn)用戶反饋。
存儲相關(guān)
SwiftyUserDefaults
對UserDefaults做了進(jìn)一步的封裝笼呆,使用起來比較方便熊响。MagicalRecord
CoreData 數(shù)據(jù)存儲管理工具,可以方便的增刪改查诗赌,玩轉(zhuǎn)CoreData必備的工具
相機(jī)相冊圖片處理
-
PhotoPicker(Swift)
類似微信的實現(xiàn)照片多選的功能 -
TZImagePickerController(OC)
一個支持多選汗茄、選原圖和視頻的圖片選擇器,同時有預(yù)覽铭若、裁剪功能
其他
-
OCR(OC)
身份證掃描洪碳,識別速度特別快,可以快速識別出身份證正反面所有的信息叼屠,但是使用了這個框架后就不能用模擬器進(jìn)行運行程序了瞳腌,會報錯,具體解決辦法我也沒找到镜雨,如果你解決了請留言給我嫂侍,謝謝。 -
card.io-iOS-SDK
銀行卡識別框架荚坞,具體使用參考 -
PPGetAddressBookSwift
通訊錄的處理挑宠,可以自己設(shè)置通訊錄排列樣式 -
EZSwiftExtensions
swift中的各種Extensions,總有方便你使用的 -
KMCGeigerCounter(OC)
監(jiān)測app的卡頓情況颓影,具體介紹參考
注:使用時注意文章最后的PS各淀,加在AppDelegate中會報錯的,要加載viewController中 -
MLeaksFinder(OC)
監(jiān)測app有無內(nèi)存泄漏情況诡挂,直接導(dǎo)入就可以揪阿,不用添加任何代碼疗我,在有內(nèi)存泄露的界面就會彈出窗口提醒。