IOS第三方框架集合

在iOS開發(fā)中不可避免的會(huì)用到一些第三方類庫举庶,它們提供了很多實(shí)用的功能琳水,使我們的開發(fā)變得更有效率借嗽;同時(shí),也可以從它們的源代碼中學(xué)習(xí)到很多有用的東西判沟。

Reachability 檢測網(wǎng)絡(luò)連接

用來檢查網(wǎng)絡(luò)連接是否可用:包括WIFI和WWAN(3G/EDGE/CDMA等)兩種工作模式。

現(xiàn)在有更好的替代品:https://github.com/tonymillion/Reachability崭篡,比Apple提供的兼容性更好挪哄,而且更加好用,更具體的使用方法請看它提供的例子琉闪。

Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];reach.reachableBlock = ^(Reachabilityreach) { NSLog(@"網(wǎng)絡(luò)可用!");};reach.unreachableBlock = ^(Reachabilityreach) { NSLog(@"網(wǎng)絡(luò)不可用!");};// 開始監(jiān)聽[reach startNotifier];

ASIHTTPRequest 網(wǎng)絡(luò)請求

ASIHTTPRequest是對CFNetwork API的一個(gè)包裝迹炼,它提供了一套更加簡潔的API,使用起來也更加簡單。

官方網(wǎng)站:http://allseeing-i.com/ASIHTTPRequest/

GitHub:https://github.com/pokeb/asi-http-request

它不僅僅支持基本的HTTP請求斯入,而且支持基于REST的服務(wù)(GET/POST/PUT/DELETE)砂碉。

最讓人喜歡的是,它支持block語法:

NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setCompletionBlock:^{ // Use when fetching text data NSString *responseString = [request responseString]; // Use when fetching binary data NSData *responseData = [request responseData]; }]; [request setFailedBlock:^{ NSError *error = [request error]; }]; [request startAsynchronous];

它的ASIFormDataRequest子類可以橫容易的提交表單數(shù)據(jù)和文件:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];[request setPostValue:@"Ben" forKey:@"first_name"];[request setPostValue:@"Copsey" forKey:@"last_name"];// Upload a file on disk[request setFile:@"/Users/ben/Desktop/ben.jpg" withFileName:@"myphoto.jpg" andContentType:@"image/jpeg"forKey:@"photo"]; // Upload an NSData instance[request setData:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"];

詳細(xì)的使用方法請下載相應(yīng)的源代碼及例子刻两,或者從官方的使用說明http://allseeing-i.com/ASIHTTPRequest/How-to-use開始增蹭。

MBProgressHUD 提示效果

支持各種狀態(tài)加載的提示效果,以及帶進(jìn)度的提示效果磅摹。
GitHub:https://github.com/matej/MBProgressHUD
一般會(huì)在.m文件實(shí)現(xiàn)MBProgressHUDDelegate協(xié)議滋迈,并聲明HUD變量:

@interface SampleViewController ()<MBProgressHUDDelegate>{ MBProgressHUD *HUD;}#pragma mark -#pragma mark MBProgressHUDDelegate methods- (void)hudWasHidden:(MBProgressHUD *)hud { // Remove HUD from screen when the HUD was hidded [HUD removeFromSuperview]; HUD = nil;}

在執(zhí)行某個(gè)異步請求時(shí)開始調(diào)用:

HUD = [MBProgressHUD showHUDAddedTo:self.webView animated:YES]; HUD.labelText = @"正在請求..."; // mode參數(shù)可以控制顯示的模式 //HUD.mode = MBProgressHUDModeText; HUD.delegate = self;

請求完成時(shí)隱藏提示效果:

[HUD hide:YES];

對于同步方法一般都是用showWhileExecuting方法,方法執(zhí)行完成之后會(huì)自動(dòng)隱藏提示效果:

[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];

SVProgressHUD 提示效果

GitHub:https://github.com/samvermette/SVProgressHUD
SVProgressHUD和MBProgressHUD效果差不多户誓,不過不需要使用協(xié)議饼灿,同時(shí)也不需要聲明實(shí)例。

直接通過類方法進(jìn)行調(diào)用即可:

[SVProgressHUD method]

可以使用以下方法來顯示狀態(tài):

  • (void)show;+ (void)showWithMaskType:(SVProgressHUDMaskType)maskType;+ (void)showWithStatus:(NSString)string;+ (void)showWithStatus:(NSString)string maskType:(SVProgressHUDMaskType)maskType;

如果需要明確的進(jìn)度帝美,則使用以下方法:

(void)showProgress:(CGFloat)progress;+ (void)showProgress:(CGFloat)progress status:(NSString)status;+ (void)showProgress:(CGFloat)progress status:(NSString)status maskType:(SVProgressHUDMaskType)maskType;

通過dismiss方法來隱藏提示:

(void)dismiss;

另外提供了以下方法用于顯示狀態(tài)碍彭,并在1秒后自動(dòng)隱藏提示(使用的圖標(biāo)來源于Glyphish:http://www.glyphish.com/):

(void)showSuccessWithStatus:(NSString)string;+ (void)showErrorWithStatus:(NSString )string;+ (void)showImage:(UIImage)image status:(NSString)string; // use 28x28 white pngs

ZAActivityBar 提示效果

GitHub:https://github.com/zacaltman/ZAActivityBar
ZAActivityBar和SVProgressHUD非常相似,它提供了更加簡潔的API來顯示提示效果悼潭。
ZAActivityBar使用的動(dòng)畫效果來源于ZKBounceAnimation(https://github.com/khanlou/SKBounceAnimation)庇忌,成功、失敗的狀態(tài)圖標(biāo)來源于Pictos(http://pictos.cc/)女责。

顯示加載狀態(tài):
[ZAActivityBar showWithStatus:@"加載中..."];
顯示成功漆枚、失敗狀態(tài):
[ZAActivityBar showSuccessWithStatus:@"成功!"];[ZAActivityBar showErrorWithStatus:@"失敗!"];
隱藏提示:
[ZAActivityBar dismiss];

SDWebImage 圖片異步加載及緩存

SDWebImage用于異步下載網(wǎng)絡(luò)上的圖片,并支持對圖片的緩存等抵知。
多數(shù)情況下是使用UIImageView+WebCache為UIImageView異步加載圖片:

UIActivityIndicator-for-SDWebImage 為SDWebImage顯示加載效果

GitHub:https://github.com/JJSaccolo/UIActivityIndicator-for-SDWebImage
用于為SDWebImage在UIImageView加載圖片時(shí)墙基,顯示加載效果(UIActivityIndicatorView實(shí)現(xiàn))

UIImage+Resize 調(diào)整圖片大小

GitHub:https://github.com/coryalder/UIImage_Resize

提供多種方法為圖片設(shè)置透明度、圓角刷喜、裁剪残制、調(diào)整大小等:

  • (UIImage *)imageWithAlpha;- (UIImage *)transparentBorderImage:(NSUInteger)borderSize;- (UIImage *)roundedCornerImage:(NSInteger)cornerSize borderSize:(NSInteger)borderSize;- (UIImage *)croppedImage:(CGRect)bounds;- (UIImage *)thumbnailImage:(NSInteger)thumbnailSize transparentBorder:(NSUInteger)borderSize cornerRadius:(NSUInteger)cornerRadius interpolationQuality:(CGInterpolationQuality)quality;- (UIImage *)resizedImage:(CGSize)newSize interpolationQuality:(CGInterpolationQuality)quality;- (UIImage *) resizedImageWithContentMode:(UIViewContentMode)contentMode bounds:(CGSize)bounds interpolationQuality:(CGInterpolationQuality)quality;

更詳細(xì)使用見:http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

ImageCacheResize 異步加載圖片、緩存及調(diào)整大小

GitHub:https://github.com/toptierlabs/ImageCacheResize
整合了SDWebImage和UIImage+Resize的功能掖疮,用于圖片的異步加載初茶、緩存、以及下載完成后調(diào)整大小并顯示在UIImageView上浊闪。
提供了API用于加載圖片以及加載完成后調(diào)整圖片大小

EGOTableViewPullRefresh 下拉刷新

GitHub:https://github.com/enormego/EGOTableViewPullRefresh

這是最早出現(xiàn)的為UITableView提供下拉刷新功能的類庫恼布,使用起來稍顯麻煩,需要實(shí)現(xiàn)諸多協(xié)議(代碼取自官方DEMO):

PullToRefresh 下拉刷新

GitHub:https://github.com/leah/PullToRefresh

PullToRefresh提供比EGOTableViewPullRefresh更加簡單的使用方法搁宾,只要繼承自PullRefreshTableViewController折汞,再實(shí)現(xiàn)refresh方法即可:

STableViewController 下拉刷新、上拉加載更多

GitHub:https://github.com/shiki/STableViewController

STableViewController比PullToRefresh多了一個(gè)上拉加載更多功能盖腿,使用上也差不多簡單爽待,需要繼承自STableViewController损同,再實(shí)現(xiàn)一些方法

GitHub:https://github.com/vicpenap/PrettyKit

定制了一些UI組件如UITableViewCell、UINavigationBar鸟款、UITabBar膏燃、UIToolBar等,比系統(tǒng)自帶的更加美觀何什。

GitHub:https://github.com/sobri909/MGBox2

提供一些定制的UI組件可以更簡單快速的創(chuàng)建表格组哩、網(wǎng)格布局,以及豐富的文本呈現(xiàn)富俄,基于block的事件機(jī)制等禁炒,包含:MGBox、MGTableBox霍比、MGTableBoxStyled幕袱、MGScrollView、MGButton悠瞬、MGEvents们豌、MGEasyFrame、MGLine等浅妆,其中MGBox還支持screenshot方法用于截圖望迎。

GitHub:https://github.com/jverkoey/nimbus

著名的框架,提供了一套非常豐富的UI組件凌外,可以使開發(fā)變得更加簡單辩尊、有效率。

GitHub:https://github.com/Grouper/FlatUIKit

扁平化設(shè)計(jì)的UI組件康辑,類似于WP或者iOS7的風(fēng)格摄欲。

GitHub:https://github.com/muccy/MUKMediaGallery

媒體庫效果,支持圖片疮薇、視頻及音頻胸墙。

PTShowcaseViewController

GitHub: https://github.com/exalted/PTShowcaseViewController

同樣是一個(gè)媒體庫效果,支持的格式更多按咒,包括:圖片迟隅、視頻、PDF等.

GitHub:https://github.com/mwaterfall/MWPhotoBrowser

圖片展示效果励七,支持本地及遠(yuǎn)程的圖片智袭,使用也比較簡單,只要實(shí)現(xiàn)MWPhotoBrowserDelegate協(xié)議:

ios-image-filters

GitHub:https://github.com/esilverberg/ios-image-filters
提供多種圖片濾鏡效果掠抬。

PDF Reader Core for iOS

GitHub:https://github.com/vfr/Reader
PDF閱讀器核心补履。

GitHub:https://github.com/Cocoanetics/DTCoreText
支持富文本的顯示如HTML。

GitHub:https://github.com/FuerteInternational/FTCoreText
富文本視圖

GitHub:https://github.com/akosma/CoreTextWrapper
支持多列的文本視圖

GitHub:https://github.com/nicklockwood/Base64
提供對字符串的Base64編碼

GitHub:https://github.com/rnapier/RNCryptor
提供AES加密方法

1. AFNetworking

在眾多iOS開源項(xiàng)目中剿另,AFNetworking可以稱得上是最受開發(fā)者歡迎的庫項(xiàng)目。AFNetworking是一個(gè)輕量級的iOS、Mac OS X網(wǎng)絡(luò)通信類庫雨女,現(xiàn)在是GitHub上第三大Objective-C庫谚攒。它建立在NSURLConnection、NSOperation等類庫的基礎(chǔ)上氛堕,讓很多網(wǎng)絡(luò)通信功能的實(shí)現(xiàn)變得十分簡單馏臭,因此,許多iOS應(yīng)用開發(fā)都會(huì)使用到它讼稚。

支持HTTP請求和基于REST的網(wǎng)絡(luò)服務(wù)(包括GET括儒、POST、PUT锐想、DELETE等)帮寻;
支持ARC;
要求iOS 5.0及以上版本赠摇;
有一些插件擴(kuò)展已有的功能固逗,還有一個(gè)功能齊全的API;
從URL中獲取JSON特別簡單藕帜。
詳情請參考:AFNetworking官網(wǎng)

2. Three20

Three20原本是iPhone版Facebook中所使用的工具庫烫罩,包括照片查看器等一系列的iPhone UI類集,以及HTTP磁盤緩存等一些通用工具洽故。后來從Facebook iPhone應(yīng)用中剝離出來贝攒,成為了一個(gè)深受開發(fā)者喜愛的通用框架。

3. facebook-ios-sdk

此前在“GitHub上最受歡迎的開源項(xiàng)目”Android系列文章(一)中时甚,我們曾介紹過允許開發(fā)者將Facebook集成到Android應(yīng)用中的Facebook SDK for Android隘弊。Facebook SDK for iOS和它一樣,可以讓開發(fā)者將Facebook相關(guān)功能集成到自己的iOS App中撞秋。

4. RestKit

Restkit是一個(gè)主要用于iOS上網(wǎng)絡(luò)通信的開源Objective-C框架长捧,除了發(fā)送請求、接受響應(yīng)這些基本功能外吻贿,還附帶Core Data串结,以及將遠(yuǎn)程JSON映射為本地對象的功能。
主要特點(diǎn):
可在iOS和Mac OS X的Objective-C中與RESTful Web服務(wù)進(jìn)行簡單交互舅列;
包含簡單的HTTP Request/Response API肌割;
帶有強(qiáng)大的對象映射系統(tǒng),用于減少代碼長度帐要;
RestKit可降低JSON/XML的處理的資源消耗把敞,支持通過SBJSON和YAJL進(jìn)行JSON解析。
詳情請參考:Restkit

5. asi-http-request

ASIHTTPRequest是一款極其強(qiáng)勁的HTTP訪問開源項(xiàng)目榨惠,能夠讓簡單的API完成非常復(fù)雜的功能奋早,比如異步請求盛霎、隊(duì)列請求、GZIP壓縮耽装、緩存愤炸、斷點(diǎn)續(xù)傳、進(jìn)度跟蹤掉奄、上傳文件规个、HTTP認(rèn)證。
ASIHTTPRequest適用于基本的HTTP請求姓建,和基于REST的服務(wù)之間的交互诞仓。使用Objective-C編寫,能夠同時(shí)用于Mac OS X和iPhone應(yīng)用中速兔。
詳情請參考:all-seeing.ASIHTTPRequest

6. GPUImage

GPUImage是一個(gè)基于GPU圖像和視頻處理的開源iOS框架墅拭。

主要功能如下:

提供各種各樣的圖像處理濾鏡,并且支持照相機(jī)和攝像機(jī)的實(shí)時(shí)濾鏡憨栽;
GPUImage顧名思義帜矾,是基于GPU的圖像加速,因此圖像處理速度非承既幔快屡萤,并且能夠自定義圖像濾鏡;
支持ARC掸宛。

7. MonoGame

MonoGame是一個(gè)Microsoft XNA 4.x Framework的開源跨平臺(tái)實(shí)現(xiàn)死陆。此前在Android開源項(xiàng)目系列文章(一)中我們也進(jìn)行了詳細(xì)的介紹。
MonoGame支持平臺(tái):

iOS(包括Ritina Display)
Android
Windows(OpenGL)
Mac OS X
Linux
Windows Store Apps(Windows 8唧瘾、Windows RT)
Windows Phone 8
PlayStation Mobile(目前僅支持2D)
OUYA

8. Nimbus

Nimbus是一個(gè)開源的iOS框架措译,比起Three20,Nimbus的文檔更為全面饰序、豐富领虹,能夠?qū)崿F(xiàn)很多非常炫的界面特效。因此求豫,開發(fā)者可以借助Nimbus來降低項(xiàng)目設(shè)計(jì)的復(fù)雜度塌衰。

9. cheddar-ios

Cheddar是一個(gè)簡單即時(shí)的任務(wù)管理器,Cheddar for iOS是Cheddar的iOS客戶端蝠嘉,通用于iPhone和iPad最疆。
開發(fā)者可以直接登陸App Store下載該應(yīng)用。

10. ViewDeck

IIViewDeckController能夠?qū)崿F(xiàn)類似于Path 2.0 的視圖左右滑動(dòng)的效果蚤告,支持向左或向右順滑的滑動(dòng)操作努酸。
點(diǎn)擊鏈接,查看視頻演示(常規(guī)演示杜恰、靈敏性演示)获诈,注意仍源,需翻&墻的喲。

11. GMGridView

GMGridView是一款開源的iOS(iPhone/iPad)表格視圖烙荷,允許用戶手勢對表格單元進(jìn)行排序镜会,在單元格需要展示時(shí)才進(jìn)行裝載,這樣極大地提高了表格的效率终抽。其中的伸縮/旋轉(zhuǎn)/平移手勢能夠讓用戶改變視圖,還能夠?qū)崿F(xiàn)從CellView到全屏的切換桶至。

詳情請參考:gmoledina

12. QuickDialog

QuickDialog可以幫助開發(fā)者快速創(chuàng)建復(fù)雜的表單昼伴,實(shí)現(xiàn)包括登錄界面在內(nèi)的各種樣式的TableView輸入界面,此外镣屹,還可以創(chuàng)建帶有多個(gè)文本域的表格及項(xiàng)目圃郊。

開發(fā)者可以直接登陸QuickDialog官方網(wǎng)站,獲取更多信息或文檔女蜈。

13. appirater

Appirater是一個(gè)可以直接使用到任何iPhone應(yīng)用(iOS4.0及以上)中的開源類持舆,用于提醒用戶在打開App時(shí),對應(yīng)用進(jìn)行評論或打分伪窖。

詳情請參考:Appirater group

14. SVProgressHUD

SVProgressHUD能夠?qū)崿F(xiàn)多種HUD效果逸寓,多用于程序正在執(zhí)行耗時(shí)較長的任務(wù),需要用戶等待覆山。除了顯示等待的HUD竹伸,還可以顯示命令執(zhí)行成功或者失敗的HUD。

15. Reader

該項(xiàng)目能夠讓iOS開發(fā)者輕而易舉地在iOS設(shè)備屏幕上顯示PDF文件簇宽。代碼通用勋篓,不需要任何XIB(因?yàn)樗蠻I元素都是代碼生成的,具有極大的靈活性)魏割,運(yùn)行于iOS 4.0及其以上版本設(shè)備中譬嚣,同時(shí)還支持所有Retina Display設(shè)備。
支持:
諸如iBooks等的文檔導(dǎo)航钞它;
設(shè)備全方位旋轉(zhuǎn)拜银;
對PDF進(jìn)行加密(密碼保護(hù));
PDF鏈接(URI及跳轉(zhuǎn)頁面)须揣;
PDF旋轉(zhuǎn)頁面盐股。

16. CocoaAsyncSocket

CocoaAsyncSocket提供了十分強(qiáng)大而又易用的Mac OS X及iOS異步套接庫,支持TCP和UDP耻卡,其中疯汁,AsyncSocket類是支持TCP的,AsyncUdpSocket是支持UDP的卵酪。

AsyncSocket是封裝了CFSocket和CFSteam的TCP/IP socket網(wǎng)絡(luò)庫幌蚊,提供異步操作谤碳。AsyncUdpSocket是UDP/IP socket網(wǎng)絡(luò)庫,包裝自CFSocket溢豆。

17. SSToolkit

SSToolkit可以說是iOS開發(fā)者最常使用的工具類之一蜒简,該開源項(xiàng)目提供了一個(gè)完整的iOS類庫集合,用于解決iOS開發(fā)者在開發(fā)過程中常碰到的一些問題漩仙,比如追蹤一款設(shè)備是否具有視網(wǎng)膜顯示屏或是否能剪裁圖片搓茬,包含SSCollectionView、SSGradientView队他、SSSwitch等諸多非常方便的類卷仑。

如果想要對SSToolkit作進(jìn)一步了解,可以在iPad/iPhone上使用SSToolkit的Demo應(yīng)用SSCatalog麸折。獲取更多信息锡凝,可直接登陸S.S. TOOLKIT。

18 XMPPFramework

XMPPFramework是一個(gè)使用Objective-C編寫的用于Mac/iOS開發(fā)的XMPP框架垢啼,它提供了一個(gè)RFC-3920(XMPP標(biāo)準(zhǔn))核心實(shí)現(xiàn)窜锯,通過某些特定工具讀寫XML。XMPPFramework有著非常豐富的建立在模塊化架構(gòu)之上的XEP擴(kuò)展芭析,開發(fā)者可以將其直接插入到代碼中锚扎,使用GCD構(gòu)成,即使是在非常老舊的iPhone或12核Mac Pro上放刨,它都能高效運(yùn)轉(zhuǎn)工秩。

19. MGSplitViewController

為了方面開發(fā),蘋果iOS SDK提供了UISplitViewController用于iPad左右分欄界面顯示进统,但對于開發(fā)者而言助币,UISplitViewController使用起來并不方便,在開發(fā)過程中螟碎,總會(huì)遇到許多問題眉菱。于是,天才的iOS開發(fā)者M(jìn)att Gemmell在GitHub上發(fā)起了一個(gè)名為MGSplitViewController的開源UISplitView實(shí)現(xiàn)掉分,它比蘋果官方UI組件所提供的分欄類功能更加豐富俭缓。

最初Matt編寫MGSplitViewController只是為了方便自己使用,但最終Matt決定將其開源酥郭,供所有iOS開發(fā)者使用华坦。如果想要了解更多關(guān)于MGSplitViewController的信息,可直接登陸Matt Gemmell博客查看不从,也可點(diǎn)擊鏈接惜姐,查看視頻演示(需翻&墻)。

20. CocoaLumberjack

CocoaLumberjack集快、簡單歹袁、強(qiáng)大坷衍、靈活于一身,和log4j等其他非常受開發(fā)者歡迎的日志框架的概念類似条舔,專為Objective-C設(shè)計(jì)枫耳,用于iOS和Mac,擁有多線程孟抗、GCD(如果可用)迁杨、無鎖原子操作和Objective-C運(yùn)行時(shí)的動(dòng)態(tài)特性。

21. PSTCollectionView

PSTCollectionView是用于iOS 4.3及其以上版本中的UICollectionView的100%開源API兼容替代品夸浅。如果想要使用UICollectionView仑最,但仍然需要支持老版本的iOS,那么這個(gè)項(xiàng)目你一定會(huì)非常喜歡帆喇。如果想要始終使用PSTCollectionView,使用PSTCollectionView作為類名稱即可亿胸。

當(dāng)然坯钦,如果你想在iOS 4.3/5.x上使用PSTCollectionView,但在iOS 6上使用UICollectionView侈玄,可以在所有UICollectionView類上添加PS婉刀,以獲得對老版iOS的自動(dòng)支持,這樣就可以隨心所欲如你所愿地使用PSUICollectionView序仙。

22. CocoaHTTPServer

CocoaHTTPServer是一個(gè)用于Mac OS X或iOS應(yīng)用的輕量級突颊、可嵌入的HTTP服務(wù)器框架。有時(shí)候開發(fā)者需要在他們的App中內(nèi)嵌一個(gè)HTTP服務(wù)器潘悼。無論是具有遠(yuǎn)程監(jiān)控功能的服務(wù)器應(yīng)用律秃,還是使用HTTP進(jìn)行后端通信的桌面應(yīng)用,或者是提供無線訪問文檔功能的iOS應(yīng)用治唤,CocoaHTTPServer都能滿足你的開發(fā)要求棒动。

CocoaHTTPServer提供如下功能:

支持Bonjour廣播內(nèi)建;
支持IPv4宾添、IPv6船惨;
異步網(wǎng)絡(luò)使用GCD和標(biāo)準(zhǔn)套接口;
密碼保護(hù)支持缕陕;
SSL/TLS加密支持粱锐;
快速、高效扛邑;
伸縮性強(qiáng)怜浅;
大量注釋代碼;
非常容易擴(kuò)展鹿榜;
還支持WebDAV海雪。

23. PushSharp

在應(yīng)用開發(fā)中锦爵,給App推送通知是很常見的方式。PushSharp正是這樣一個(gè)能夠?qū)崿F(xiàn)向iOS(iPhone/iPad APNS)奥裸、Android(C2DM和GCM)险掀、Windows Phone、Windows 8湾宙、BlackBerry(PAP)和Amazon(ADM)等多種操作系統(tǒng)推送消息通知的開源C#服務(wù)器端庫樟氢。

主要特性:

支持多平臺(tái)消息推送;
API能夠很流暢地為不同平臺(tái)創(chuàng)建通知侠鳄;
自適應(yīng)信息頻道(自動(dòng)增加或減少消息鏈接)埠啃;
使用異步代碼,基于Event為導(dǎo)向調(diào)用類庫伟恶;
100%代碼托管碴开,兼容Mono框架;

24. HockeyKit

此前在GitHub上“最受歡迎的Android開源項(xiàng)目”系列文章(一)中博秫,我們曾對HockeyKit進(jìn)行了詳細(xì)的介紹潦牛。HockeyKit是一個(gè)用于iOS和Android下App更新的開發(fā)包,無論是iOS還是Android應(yīng)用開發(fā)挡育,它都深受開發(fā)者喜愛巴碗。

25. JTRevealSidebarDemo

JTRevealSidebarDemo是一個(gè)能夠?qū)崿F(xiàn)類似于Facebook客戶端和Path應(yīng)用的視圖切換效果的Objective-C庫模板,其目的在于為開發(fā)者提供一個(gè)真正靈活的即寒、可重用的解決方案橡淆。

JTRevealSidebarDemo可用于iOS 4.3和5.0應(yīng)用開發(fā),示例代碼使用ARC構(gòu)建母赵,但該庫本身則兼容ARC和非ARC逸爵。

26. PKRevealController

PKRevealController是對ZUUIRevealController的進(jìn)化,ZUUIRevealController能夠?qū)崿F(xiàn)類似于Facebook客戶端的視圖橫向切換效果市咽。而PKRevealController則是一個(gè)iOS視圖控制器的集合痊银,能夠讓你實(shí)現(xiàn)多重控制器切換,非常靈活施绎。

27. QuincyKit

QuincyKit是一個(gè)為iOS和Mac OS X提供的程序崩潰報(bào)告管理解決方案溯革,提供客戶端開發(fā)包以及基于PHP開發(fā)的服務(wù)器平臺(tái)。

主要功能:

(自動(dòng))向開發(fā)者數(shù)據(jù)庫發(fā)送崩潰報(bào)告谷醉;
由用戶決定每次崩潰是否發(fā)送數(shù)據(jù)或總是發(fā)送致稀;
用戶可對是否選擇提供E-mail地址等額外信息進(jìn)行設(shè)置;
如果崩潰是已知的俱尼,向用戶提供即時(shí)反饋抖单,并在接下來的更新中進(jìn)行修復(fù)。
詳情請參考:QuincyKit官網(wǎng)

28. PSStackedView

PSStackedView能夠?qū)⒛愕腢IViewControllers堆疊起來,實(shí)現(xiàn)了類似于Twitter iPad版應(yīng)用效果的界面矛绘,項(xiàng)目發(fā)起人Peter Steinberger表示耍休,PSStackedView的靈感正是來自于Twitter iPad的UI。

為了開發(fā)非常受歡迎的奧地利TV應(yīng)用“3MobileTV”的iPad版货矮,Peter創(chuàng)作了PSStackedView羊精,開發(fā)者可以直接登陸App Store下載該應(yīng)用。PSStackedView可運(yùn)行在iPad和iPhone上囚玫,但相對而言喧锦,更適合用在iPad上。

29. Chameleon

作為一名iOS開發(fā)者抓督,你應(yīng)該對蘋果官方用于開發(fā)iPhone燃少、iPod和iPad應(yīng)用的UIKit框架很熟悉。Chameleon是一個(gè)完全獨(dú)立的可以直接替代UIKit在Mac OS X上運(yùn)行的框架铃在,和UIKit唯一的共性就是公共類和方法名稱阵具。在大多數(shù)情況下,開發(fā)者不需要改動(dòng)任何代碼定铜,即可直接在Mac上運(yùn)行所開發(fā)的iOS應(yīng)用怔昨。

Chameleon的源代碼是基于蘋果的文檔而來,并沒有使用到任何私有API或其他未經(jīng)Mac App Store批準(zhǔn)的技術(shù)宿稀。如果想要了解更多關(guān)于Chameleon的信息,可直接登陸ChameleonProject網(wǎng)站查看赖捌。

30. DCIntrospect

Introspect是一個(gè)很小的iOS工具集祝沸,用于幫助開發(fā)者對使用UIKit構(gòu)建的用戶界面進(jìn)行調(diào)試。特別適用于動(dòng)態(tài)創(chuàng)建UI布局越庇、改變運(yùn)行時(shí)罩锐,還能通過尋找透明視圖優(yōu)化應(yīng)用性能,并避免不必要的重繪視圖卤唉。

31. PSCollectionView

PSCollectionView是一個(gè)能夠?qū)崿F(xiàn)Pinterest風(fēng)格的瀑布流視圖顯示效果的iOS滾動(dòng)組件涩惑,可用于類似的UITableView,支持顯示圖片和文字桑驱。

項(xiàng)目發(fā)起人Peter Shih在自己的iPhone/iPad應(yīng)用Lunchbox中使用了PSCollectionView源代碼竭恬,開發(fā)者可以在App Store中免費(fèi)下載該應(yīng)用。

32. SDURLCache

NSURLCache及其子類提供了很多高級接口用于處理緩存熬的,但如果你想在自己的iPhone應(yīng)用中通過HTTP請求的方式將緩存存儲(chǔ)到磁盤中痊硕,推薦使用SDURLCache。Peter Steinberger在GitHub上托管的這個(gè)SDURLCache項(xiàng)目是Olivier Poitrey的SDURLCache的一個(gè)分支押框,支持iOS 5以下版本系統(tǒng)岔绸。

33. FastPdfKit

該開源庫包含著FastPdfKit iOS庫的一些示例項(xiàng)目。FastPdfKit是一個(gè)能夠讓你在iOS應(yīng)用中顯示PDF文檔的開發(fā)類庫,其最大的特點(diǎn)就是加載PDF文檔速度特別快盒揉。

詳情請參考:FastPdfKit官網(wǎng)

34. KKGridView

KKGridView是一個(gè)高性能的iOS表格組件晋被,但自WWDC 2012大會(huì)上蘋果推出了相關(guān)的解決方案之后,KKGridView也就逐漸停止使用了刚盈。每逢iOS系統(tǒng)更新羡洛,iOS開源項(xiàng)目勢必也會(huì)發(fā)生新一輪的改變,至于在顛覆了蘋果以往設(shè)計(jì)觀的iOS 7發(fā)布之后扁掸,iOS開源項(xiàng)目又會(huì)發(fā)生哪些改變翘县?還要看天才的開發(fā)者們!

35. MGBox2

MGBox2能夠?qū)崿F(xiàn)非城捶郑酷的列表交互效果锈麸,使用最少代碼,即可快速創(chuàng)建各種布局效果的iOS表格牺蹄、網(wǎng)格忘伞,支持新增和刪除網(wǎng)格,動(dòng)態(tài)添加或刪除列表沙兰,在表格中加入多行文字氓奈、圖片等,支持手勢識(shí)別和自定義事件鼎天。

36下拉刷新列表組件SVPullToRefresh

SVPullToRefresh 允許你通過一行代碼把下拉刷新添加至UIScrollView子類別舀奶,不需要依賴委托或者子類化UITableViewController。另外斋射,該項(xiàng)目支持簡單自定義文本育勺、箭頭的外觀。
這些UIScrollView類別讓下拉刷新和UIScrollView的無限滾動(dòng)變得非常簡單罗岖,
SVPullToRefresh使用Objective-C runtime為UIScrollView添加以下3種方法:

  • (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler;
  • (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler position:(SVPullToRefreshPosition)position;
  • (void)addInfiniteScrollingWithActionHandler:(void (^)(void))actionHandler;

https://github.com/samvermette/SVPullToRefresh

37網(wǎng)絡(luò)工具包MKNetWorkKit

MKNetworkKit 是一個(gè)完全基于 ARC 的網(wǎng)絡(luò)工具包涧至。支持把上一次請求進(jìn)行緩存。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優(yōu)點(diǎn)桑包,并加入了自己的功能南蓬。
最新的代碼并未在完全在Mac通過測試,iOS上的測試已經(jīng)完成哑了。包括Digg在內(nèi)的多款app使用了該項(xiàng)目赘方。關(guān)于更詳細(xì)的信息和教程,你可以到MKNetWorkKit相關(guān)博客上查看垒手。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/
網(wǎng)絡(luò)工具包MKNetWorkKit
MKNetworkKit 是一個(gè)完全基于 ARC 的網(wǎng)絡(luò)工具包蒜焊。支持把上一次請求進(jìn)行緩存。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優(yōu)點(diǎn)科贬,并加入了自己的功能泳梆。
最新的代碼并未在完全在Mac通過測試鳖悠,iOS上的測試已經(jīng)完成。包括Digg在內(nèi)的多款app使用了該項(xiàng)目优妙。關(guān)于更詳細(xì)的信息和教程乘综,你可以到MKNetWorkKit相關(guān)博客上查看。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/

UILabel改進(jìn)版TTTAttributedLabel
TTTAttributedLabel是一個(gè)文字視圖開源組件套硼,是UILabel的替代元件卡辰,可以以簡單的方式展現(xiàn)渲染的屬性字符串。另外邪意,還支持鏈接植入九妈,不管是手動(dòng)還是使用UIDataDetectorTypes自動(dòng)把電話號碼、事件雾鬼、地址以及其他信息變成鏈接萌朱。
支持NSAttributedString,兼容iOS 4.3以上系統(tǒng)策菜,自動(dòng)數(shù)據(jù)檢測晶疼,手動(dòng)鏈接植入等。
還包括先進(jìn)的段落樣式:
verticalAlignment
textInsets
firstLineIndent
leading
lineHeightMultiple
shadowRadius
highlightedShadowRadius / highlightedShadowOffset / highlightedShadowColor
truncationTokenString

網(wǎng)絡(luò)工具包MKNetWorkKit
MKNetworkKit 是一個(gè)完全基于 ARC 的網(wǎng)絡(luò)工具包又憨。支持把上一次請求進(jìn)行緩存翠霍。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優(yōu)點(diǎn),并加入了自己的功能蠢莺。
最新的代碼并未在完全在Mac通過測試寒匙,iOS上的測試已經(jīng)完成。包括Digg在內(nèi)的多款app使用了該項(xiàng)目躏将。關(guān)于更詳細(xì)的信息和教程蒋情,你可以到MKNetWorkKit相關(guān)博客上查看。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/
轉(zhuǎn)自:http://www.verydemo.com/demo_c134_i49279.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耸携,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辕翰,更是在濱河造成了極大的恐慌夺衍,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喜命,死亡現(xiàn)場離奇詭異沟沙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)壁榕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門矛紫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牌里,你說我怎么就攤上這事颊咬∥裆” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵喳篇,是天一觀的道長敞临。 經(jīng)常有香客問我,道長麸澜,這世上最難降的妖魔是什么挺尿? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炊邦,結(jié)果婚禮上编矾,老公的妹妹穿的比我還像新娘。我一直安慰自己馁害,他們只是感情好窄俏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜗细,像睡著了一般裆操。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炉媒,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天踪区,我揣著相機(jī)與錄音,去河邊找鬼吊骤。 笑死缎岗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的白粉。 我是一名探鬼主播传泊,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸭巴!你這毒婦竟也來了眷细?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤鹃祖,失蹤者是張志新(化名)和其女友劉穎溪椎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恬口,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡校读,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祖能。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉秫。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡枚驻,死狀恐怖泛源,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤灯节,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布币砂,位于F島的核電站芒率,受9級特大地震影響惶看,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜裂明,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一椿浓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闽晦,春花似錦扳碍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荠瘪,卻和暖如春夯巷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哀墓。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工趁餐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人篮绰。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓后雷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吠各。 傳聞我的和親對象是個(gè)殘疾皇子臀突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容