寫iOS 程序的時候往往需要很多第三方框架的支持登澜,可以大大減少工作量脑蠕,講重點(diǎn)放在軟件本身的邏輯實(shí)現(xiàn)上迂求。
GitHub 里面有大量優(yōu)秀的第三方框架,而且 License 對商業(yè)很友好掀虎。一下摘錄一下幾乎每個項(xiàng)目都想集成的幾個框架涩盾。
SDWebImageView
1. Mantle
Mantle 讓我們能簡化 Cocoa 和 Cocoa Touch 應(yīng)用的 model 層春霍。簡單點(diǎn)說,程序中經(jīng)常要進(jìn)行網(wǎng)絡(luò)請求衅疙,請求到得一般是 json 字符串饱溢,我們一般會建一個 Model 類來存放這些數(shù)據(jù)绩郎。這就要求我們編寫一系列的序列化代碼肋杖,來把 json 轉(zhuǎn)換為 Model 状植。這很費(fèi)時間津畸,容易錯肉拓,不容易修改帝簇。 Mantle 很好的解決了這個問題丧肴,而且更易用芋浮。
GitHub : https://github.com/Mantle/Mantle
-
參考:
CocoaPod 集成: pod 'Mantle', '~> 1.5.4'
2. Masonry
IB 時代,如果你還在用代碼絕對布局就太 low 了瘤旨。隨著蘋果發(fā)布 iPhone6 存哲、 iPhone 6 plus 祟偷。 iOS 設(shè)備將會出現(xiàn)越來越豐富的屏幕尺寸修肠,我們不可能根據(jù)每個尺寸做一套布局嵌施。所以吗伤,使用 autolayout 就很有必要了牲芋。在 storyboard 中缸浦,可以非常方便的使用 autolayout 裂逐,但是為了更好的協(xié)作開發(fā)卜高,有些公司依然在手寫布局,令人沮喪的是蘋果提供的 autolayout 語法晦澀難懂薪缆,非常影響效率(你可以在 這里 動態(tài)查看 autolayout 的語法)拣帽。 Masonry 就是設(shè)計(jì)來解決復(fù)雜的手寫 autolayout 减拭。如何優(yōu)雅的使用 autolayout 拧粪,且看 Masonry 濒析。
GitHub : https://github.com/Masonry/Masonry
參考:使用方法号杏,請看 README
CocoaPod 集成: pod 'Masonry', '~> 0.6.1'
3. Reachability
移動互聯(lián)網(wǎng)時代盾致,應(yīng)該很少有應(yīng)用是不需要網(wǎng)絡(luò)連接的吧庭惜。監(jiān)測網(wǎng)絡(luò)連接狀態(tài)幾乎是必不可少的一部分护赊。 Reachability 可以完美的完成這一任務(wù)
參考:使用方法非常簡單,請看 README
CocoaPod 集成: pod 'Reachability', '~> 3.2'
4. BlocksKit
BlocksKit絕對是 Objective-C 的知心伴侶判耕,它為 OC 常用類提供了強(qiáng)大的 Block 語法支持壁熄,使得編寫 OC 代碼變得舒適草丧、快速、優(yōu)雅仙蚜。反正我是絕對離不開它。
參考: block 使用小結(jié)厂汗、在 arc 中使用 block 委粉、如何防止循環(huán)引用 (zz)
CocoaPod 集成: pod 'BlocksKit', '~> 2.2.5'
5. KVOController
如果你在項(xiàng)目中有使用 KVO ,那么 KVOController 絕對是個好選擇娶桦。它是 facebook 開源的一個 KVO 增強(qiáng)框架贾节。有以下幾個特性:
使用 Blocks 汁汗、自定義 Actions 或者 NSKeyValueObserving 回調(diào)進(jìn)行通知 .
觀測者移除時無異常
控制器 dealloc 時隱式的觀測者移除
提升使用 NSKeyValueObservingInitial 的性能
線程安全并提供在觀測者恢復(fù)時額外的保護(hù)
還有什么理由不使用 KVOController 呢栗涂?參考: KVOController : facebook 開源的 KVO ( Key-value Observing )工具
CocoaPod : pod 'KVOController', '~> 1.0.3'
6. MBProgressHUD
一個老牌知牌、經(jīng)典的通知組件,如果你們美工沒有專門設(shè)計(jì)等待和通知視圖斤程,那就用它吧角寸!
GitHub : https://github.com/jdg/MBProgressHUD
參考
CocoaPod : pod 'MBProgressHUD', '~> 0.9'
7. ODRefreshControl
很多公司都自己設(shè)計(jì)下拉刷新視圖,比如網(wǎng)易新聞 iOS 客戶端忿墅,下拉的時候會有廣告出現(xiàn)扁藕。如果你只是需要一個下拉刷新,那么可以考慮 ODRefreshControl 疚脐,它是原 iOS6 上的橡皮糖刷新樣式亿柑,很有意思。現(xiàn)在也很多大的 App 在用棍弄,比如蝦米音樂和 QQ 客戶端望薄。
參考
CocoaPod : pod 'ODRefreshControl', '~> 1.1.0'
8. pop
又是 Facebook 開源的。大名鼎鼎的 pop 呼畸,做動畫的不二之選痕支。收下它吧。
GitHub : https://github.com/facebook/pop
CocoaPod : pod 'pop', '~> 1.0.7'
9. AFNetworking
Objective-C下網(wǎng)絡(luò)請求庫役耕。
參考
CocoaPod : pod 'AFNetworking', '~> 2.5.0'
SVProgressHUD 提示效果
GitHub:https://github.com/samvermette/SVProgressHUD
SVProgressHUD和MBProgressHUD效果差不多,不過不需要使用協(xié)議聪廉,同時也不需要聲明實(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秒后自動隱藏提示(使用的圖標(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使用的動畫效果來源于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];
官方: http://sbjson.org/
GitHub:https://github.com/stig/json-framework
UIActivityIndicator-for-SDWebImage 為SDWebImage顯示加載效果
GitHub:https://github.com/JJSaccolo/UIActivityIndicator-for-SDWebImage
用于為SDWebImage在UIImageView加載圖片時喘沿,顯示加載效果(UIActivityIndicatorView實(shí)現(xiàn)),它提供以下方法:
- (``void``)setImageWithURL:(NSURL *)url usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle;
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)整圖片大形凇:
- (``void``)setImageWithURL:(NSURL *)url andCropToBounds:(CGRect)bounds;- (``void``)setImageWithURL:(NSURL *)url andResize:(CGSize)size withContentMode:(UIViewContentMode)mode;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder andCropToBounds:(CGRect)bounds;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options andResize:(CGSize)size;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options andResize:(CGSize)size withContentMode:(UIViewContentMode)mode;- (``void``)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options andCropToBounds:(CGRect)bounds;
使用方法和SDWebImage一樣簡單,如以下官方例子:
[imageview setImageWithURL:[NSURL URLWithString:@``"[http://t0.gstatic.com/images?q=tbn:ANd9GcQfraHpiabjEY8iDdBe9OUQYHMtwfuAv9ZRR0RYKuoVF_EpE8Fp5A](http://t0.gstatic.com/images?q=tbn:ANd9GcQfraHpiabjEY8iDdBe9OUQYHMtwfuAv9ZRR0RYKuoVF_EpE8Fp5A)"``] andResize:CGSizeMake(``30``, ``30``) withContentMode:UIViewContentModeScaleAspectFit]; // 按比例縮放[imageview setImageWithURL:[NSURL URLWithString:@``"[http://t0.gstatic.com/images?q=tbn:ANd9GcQfraHpiabjEY8iDdBe9OUQYHMtwfuAv9ZRR0RYKuoVF_EpE8Fp5A](http://t0.gstatic.com/images?q=tbn:ANd9GcQfraHpiabjEY8iDdBe9OUQYHMtwfuAv9ZRR0RYKuoVF_EpE8Fp5A)"``] andCropToBounds:CGRectMake(``0``, ``0``, ``100``, ``100``)]; // 裁剪成100x100大小
STableViewController 下拉刷新哲银、上拉加載更多
GitHub:https://github.com/shiki/STableViewController
STableViewController比PullToRefresh多了一個上拉加載更多功能盲泛,使用上也差不多簡單玛迄,需要繼承自STableViewController勒虾,再實(shí)現(xiàn)一些方法:
- (``void``) viewDidLoad{ [``super
viewDidLoad]; self.title = @``"STableViewController Demo"``; [self.tableView setBackgroundColor:[UIColor lightGrayColor]]; ``// 需要創(chuàng)建兩個自定義視圖用于顯示"下拉刷新"玻靡、"上拉加載更多" self.headerView = headerView; self.footerView = footerView; }#pragma mark - Pull to Refresh- (void) pinHeaderView{ [super pinHeaderView]; // 下拉刷新視圖顯示一些加載動畫}- (void) unpinHeaderView{ [super unpinHeaderView]; // 下拉刷新視圖停止動畫}- (void) headerViewDidScroll:(BOOL)willRefreshOnRelease scrollView:(UIScrollView *)scrollView{ // 下拉刷新視圖顯示狀態(tài)信息 if (willRefreshOnRelease) //hv.title.text = @"松開后刷新..."; else //hv.title.text = @"下拉刷新...";}- (BOOL) refresh{ if (![super refresh]) return NO; // 下拉刷新加載數(shù)據(jù) [self performSelector:@selector(addItemsOnTop) withObject:nil afterDelay:2.0]; return YES;}#pragma mark - Load More- (void) willBeginLoadingMore{ // 上拉加載更多視圖加載動畫}- (void) loadMoreCompleted{ [super loadMoreCompleted]; // 上拉加載更多視圖停止動畫 if (!self.canLoadMore) { //沒有更多數(shù)據(jù)的時候執(zhí)行代碼... }}- (BOOL) loadMore{ if (![super loadMore]) return NO; // 上拉加載更多數(shù)據(jù) [self performSelector:@selector(addItemsOnBottom) withObject:nil afterDelay:2.0]; return YES;}// - (void) addItemsOnTop{ // 加載數(shù)據(jù)... [self.tableView reloadData]; // 數(shù)據(jù)加載完成通知上拉視圖 [self refreshCompleted];}- (void) addItemsOnBottom{ // 加載更多數(shù)據(jù)... [self.tableView reloadData]; // 通過判斷設(shè)置是否可以加載更多 //self.canLoadMore = NO; // 數(shù)據(jù)加載完成通知下拉視圖 [self loadMoreCompleted];}
SVPullToRefresh 下拉刷新誊涯、上拉加載更多
GitHub:https://github.com/samvermette/SVPullToRefresh
包含SVPullToRefresh + SVInfiniteScrolling為UITableView提供下拉刷新薇溃、上拉加載更多功能。
使用起來也相當(dāng)簡單,只要在UITableViewController里實(shí)現(xiàn)以下方法:
- (``void``)viewDidLoad { [``super
viewDidLoad]; __weak SVViewController *weakSelf = self; ``// 設(shè)置下拉刷新 [self.tableView addPullToRefreshWithActionHandler:^{ [weakSelf insertRowAtTop]; }]; // 設(shè)置上拉加載更多 [self.tableView addInfiniteScrollingWithActionHandler:^{ [weakSelf insertRowAtBottom]; }];}- (void)viewDidAppear:(BOOL)animated { [tableView triggerPullToRefresh];}- (void)insertRowAtTop { // 獲取數(shù)據(jù).... // 停止動畫 [self.tableView.pullToRefreshView stopAnimating];}- (void)insertRowAtBottom { // 獲取數(shù)據(jù).... // 停止動畫 [weakSelf.tableView.infiniteScrollingView stopAnimating];}
CMPopTipView 提示信息
GitHub:https://github.com/chrismiles/CMPopTipView
CMPopTipView用于在一些視圖上顯示提示信息:
self.tipView = [[CMPopTipView alloc] initWithMessage:@``"提示消息"``];self.tipView.delegate = self;[self.tipView presentPointingAtView:anyButton inView:self.view animated:YES]; ``// 點(diǎn)擊按鈕顯示[self.tipView presentPointingAtBarButtonItem:barButtonItem animated:YES]; // 點(diǎn)擊導(dǎo)航欄按鈕顯示 #pragma mark CMPopTipViewDelegate methods- (void)popTipViewWasDismissedByUser:(CMPopTipView *)popTipView { // 清理資源 self.tipView = nil;}
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
同樣是一個媒體庫效果握爷,支持的格式更多,包括:圖片严里、視頻新啼、PDF等.
GitHub:https://github.com/mwaterfall/MWPhotoBrowser
圖片展示效果,支持本地及遠(yuǎn)程的圖片刹碾,使用也比較簡單燥撞,只要實(shí)現(xiàn)MWPhotoBrowserDelegate協(xié)議:
@``interface
TestViewController (){ NSArray *_photos;}-(``void``) doAction { NSMutableArray *photos = [[NSMutableArray alloc] init]; ``for
(...) { MWPhoto* photo = [MWPhoto photoWithURL:[NSURL URLWithString:url]]; ``// 設(shè)置圖片地址 photo.caption = description; // 設(shè)置描述 [photos addObject:photo]; } _photos = photos; MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self]; browser.displayActionButton = YES; UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:browser]; nc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentModalViewController:nc animated:YES];}#pragma mark - MWPhotoBrowserDelegate- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser { return _photos.count;}- (MWPhoto *)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index { if (index < _photos.count) return [_photos objectAtIndex:index]; return nil;}
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
開發(fā)幾個常用的開源類庫及下載地址:
1.jsonjson編碼解碼
2.GTMBase64 base64編碼解碼
3.TouchXML 解析
4.SFHFKeychainUtils 安全保存用戶密碼到keychain中
5.MBProgressHUD很棒的一個加載等待特效框架
6.ASIHTTPRequest 等相關(guān)協(xié)議封裝
7.EGORefreshTableHeaderView 下拉刷新代碼
8.AsyncImageView 異步加載圖片并緩存代碼
9.類似setting的豎立也分欄程序
10.MBProgressHUD——進(jìn)展指示符庫
11.Flurry——詳盡的使用統(tǒng)計(jì)
12.CorePlot——2D圖形繪圖儀
13.GData client——iPhone上所有Google相關(guān)服務(wù)的類庫
14.SDWebImage——簡化網(wǎng)絡(luò)圖片處理
15.RegexKitLite——正則表達(dá)式支持
可能會用到的庫:
1.exif:svn checkout http://iphone-exif.google.code.com/svn/trunk/ iphone-exif
2.圖像處理:svn checkout http://simple-iphone-image-processing.googlecode.com/svn/trunk/ simple-iphone-image-processing-read-only
AppStore軟件排名相關(guān),工欲善其事,必先利其器戏锹。
1.下載排名相關(guān):appannie
2.用戶行為分析:flurry
3.majicrank-各國排名查詢工具 (推薦)
4.AppViz-App銷售統(tǒng)計(jì)軟件 (推薦)
5.PodViz-用戶評論等查看工具
6.appfigures-報表統(tǒng)計(jì)分析工具
開發(fā)幾個常用的開源類庫及下載地址:引用1.json json編碼解碼2.GTMBase64 base64編碼解碼3.TouchXML xml解析4.SFHFKeychainUtils 安全保存用戶密碼到keychain中5.MBProgressHUD 很棒的一個加載等待特效框架6.ASIHTTPRequest http等相關(guān)協(xié)議封裝7.EGORefreshTableHeaderView 下拉刷新代碼8.AsyncImageView 異步加載圖片并緩存代碼9.類似setting的豎立也分欄程序
掃描wifi信息:
http://code.google.com/p/uwecaugmentedrealityproject/
http://code.google.com/p/iphone-wireless/
條形碼掃描:http://zbar.sourceforge.net/iphone/sdkdoc/install.html
tcp/ip的通訊協(xié)議:http://code.google.com/p/cocoaasyncsocket/
voip/sip:
http://code.google.com/p/siphon/
http://code.google.com/p/asterisk-voicemail-for-iphone/
http://code.google.com/p/voiphone/
three20:https://github.com/facebook/three20
google gdata:http://code.google.com/p/gdata-objectivec-client/
720全景顯示panoramagl:http://code.google.com/p/panoramagl/
jabber client:http://code.google.com/p/ichabber/
PLBlocks:http://code.google.com/p/plblocks/
image processing
http://code.google.com/p/simple-iphone-image-processing/
json編碼解碼:http://code.google.com/p/json-framework
base64編碼解碼:http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87
xml解析:https://github.com/schwa/TouchXML
安全保存用戶密碼到keychain中:https://github.com/ldandersen/scifihifi-iphone
加載等待特效框架(private api):https://github.com/jdg/MBProgressHUD
http等相關(guān)協(xié)議封裝:http://allseeing-i.com/ASIHTTPRequest
下拉刷新代碼:https://github.com/enormego/EGOTableViewPullRefresh
異步加載圖片并緩存代碼:http://www.markj.net/iphone-asynchronous-table-image/
iphone TTS:https://bitbucket.org/sfoster/iphone-tts
iphone cook book 源碼:https://github.com/erica/iphone-3.0-cookbook-
iphone 正則表達(dá)式:http://regexkit.sourceforge.net/RegexKitLite/
OAuth認(rèn)證: http://code.google.com/p/oauth/
[http://code.google.com/p/oauthconsumer/](https://link.jianshu.com/?t=http%3A%2F%2Fcode.google.com%2Fp%2Foauthconsumer%2F