转自 http://www.jianshu.com/p/708594ea16e5
iOS学习推荐:
TheElements:https://developer.apple.com/library/ios/samplecode/TheElements/Introduction/Intro.html,这个是apple的官方示例代码,每次我朋友问题如何学习iOS的时候,我总会推荐这个samplecode,这个代码让我对iOS开发的理解有个很大的突破。里面并没有使用大量的storyboard和xib隐藏细节,并不是说只能用纯代码做事情,而是可以让人看到里面很多的实现细节,加深理解。读这个代码,我才明白什么是apple说的MVC,还有一个xcode工程到底是如何从main函数运行起来的,非常强烈推荐阅读学习
ios应用架构谈 网络层设计方案 iOS应用架构谈 网络层设计方案
http://casatwy.com/iosying-yong-jia-gou-tan-wang-luo-ceng-she-ji-fang-an.html
下面来介绍一下我们在开发中常用到的第三方库:标黑色的是一些使用过的开发者推荐:
网络通信:
1、ASIHTTPRequest
这是一个经典的老库,功能完全而强大,但已经停止更新很久了(iOS5.0停止更新,但是我最近看github上这个项目有新改动)。在不同iOS版本上略微有一些小问题(提醒显示上的),所以用的时候还是稍微修改一下比较好。
下载地址:https://github.com/pokeb/asi-http-request
2、AFNetworking(网络请求首选)
轻量级的通讯类库,使用非常简单。
下载地址:https://github.com/AFNetworking/AFNetworking
--AFDownloadRequestOperation:对AFNetworking的断点续传的补充
3、MKNetworkKit
最近做的不错的一个通讯类库,具有AFNetworking和ASIHTTPRequest双方的优点,甚至功能更丰富一些,但是本人还没有使用过。
下载地址:https://github.com/MugunthKumar/MKNetworkKit
网络图片处理:
1、SDWebImage
SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单。
https://github.com/rs/SDWebImage
数据解析:
1、JSONKit(解析JSON数据推荐JSONKit,而且优势相当的明显.解析速度拉SBJson好几条长安街)
JSONKit解析速度上最接近iOS原生解析类,当然iOS5.0才开始支持原生解析,所以选择一个库还是很必要的。
下载地址:https://github.com/johnezang/JSONKit
2.JSONModel
json转换成model,自从使用这个封装json,妈妈再也不用担心json解析crash了。谁用谁知道。(注:Mantle上面也推荐了,和JSONModel差不多,不过我没用过,不作评论)
3.TMCache: 缓存数据,可以缓存到memory或者disk,个人觉得挺不错的。
下载地址:https://github.com/tumblr/TMCache
判断网络状况:
1.Reachability
要用起来,时不时检查一下网络状况,然后配合MBProgressHUD告知用户「亲,你丫现在没网啦,别特么戳了。」
刷新:
1、MBProgressHUD
MBProgressHUD就不多说了,伟大的菊花。
下载地址:https://github.com/jdg/MBProgressHUD
2、SVProgressHUD
SVProgressHUD是一个轻量级的菊花。
下载地址:https://github.com/samvermette/SVProgressHUD
3.pop
pop是facebook paper使用的动画效果,开源了出来,很赞啊,不过应用到项目中的可能性很低。。。太特么炫酷了
下载地址:https://github.com/facebook/pop
3. MJRefresh(上拉加载,下拉刷新效果,详见github官网)
注意:MTRrfresh有两种:一种是有代理的,一种没有,下载请注意
4. SVPullToRefresh
SVPullToRefresh
允许你通过一行代码把下拉刷新添加至UIScrollView子类别,不需要依赖委托或者子类化UITableViewController。另外,该项
目支持简单自定义文本、箭头的外观。这些UIScrollView类别让下拉刷新和UIScrollView的无限滚动变得非常简单
下载地址:https://github.com/samvermette/SVPullToRefresh
第三方分享:
1、ShareSDK
ShareSDK支持分享到新浪微博、微信好友、微信朋友圈、QQ好友、腾迅微博、QQ空间、人人网、开心网、豆瓣、搜狐微博、网易微博、短信、邮件、打印、拷贝等。但是由于这个SDK包很大,所以用的时候一定要精简一下。
下载地址:http://sharesdk.cn/Download
2、UMeng
umeng既有统计分析,也有社会化组件。但是统计分析的用户数似乎明显多于其社会化组件的用户。
http://dev.umeng.com/analytics/ios/sdk-download
抽屉:
1. MMDrawerController
-详细地址:见github官网
2.Residemu 记得用有代理的,比较简单
-详细地址:见github官网
Block:
1. iOSBlocks
使用它,使你很好地理解为什么:“block实现了编程之美
Socket:
1、CocoaAsyncSocket
CocoaAsyncSocket是用的最广泛的socket开发库,省略了程序员与CFNetwork接触的时间,延长了程序员寿命。作者根据iOS平台的特性,实现了两套异步socket网络库,一个基于GCD与POSIX Socket开发的socket异步网络库,另外一个是使用CFSocket与runloop实现,
下载地址:https://github.com/robbiehanson/CocoaAsyncSocket
2、SocketRocket
SocketRocket是Square开发的一个实现webSocket的库,可以轻松的实现即时通信。
下载地址:https://github.com/square/SocketRocket
第三方管理:
1、FMDB (查询大数据性能,可能更胜一筹)
fmdb是一个数据库管理库,封装了sqlite相关的sql语句,简化数据库操作。
下载地址:https://github.com/ccgus/fmdb
2.coreData:(不会因为不会写sql而没法保存数据)
----MagicalRecord:很牛逼的coredata的封装,支持多纯种,4600多个star足以说明其实用性。3.0版本修复了原来2.0版本多线程的一些问题
3、ssziparchive
ssziparchive与sstoolkit是同一个作者,这哥们儿简直是个天才。
https://github.com/soffes/ssziparchive
4、ZipArchive
ZipArchive同样是minizip的封装。
https://github.com/mattconnolly/ZipArchive
5、Objective-Zip
Objective-Zip将Zlib和MiniZip用Objective-C进行了封装,使用起来非常简单。
https://github.com/flyingdolphinstudio/Objective-Zip
6、OpenUDID
OpenUDID是iOS禁止使用系统UDID之后的新解决方法。
https://github.com/ylechelle/OpenUDID
7、RegexKitLite
RegexKitLite 是一个轻量级的Objective-C的正则表达式库,支持 Mac OS X 和 iOS,使用ICU 库开发。
下载地址:https://github.com/wezm/RegexKitLite
8. CocoaPods
第三方库管理工具这是一个收集了很多iOS开源项目的页面,给作者赞一个
安全保存用户密码:(较少量数据)
1、STUtils
STUtils是一系列的工具集,包含了很多对于iOS原生类的扩展,当然也包含一个用于安全保存用户密码STKeyChain。
https://github.com/ldandersen/STUtils
1、scifihifi-iphone
scifihifi-iphone用于安全保存用户密码到keychain中。
https://github.com/ldandersen/scifihifi-iphone
3、sskeychain
sskeychain同scifihifi-iphone一样,不过属于轻量级。
https://github.com/soffes/sskeychain
4. Leancloud 网络存储数据
第三方UI:
1、appirater
appirater是一个可以直接使用到任何iPhone应用中的开源类,用于提醒用户在打开App时,对应用进行评论或打分。
下载地址:https://github.com/arashpayan/appirater
2、FDStatusBarNotifierView
FDStatusBarNotifierView 实现了在状态栏中显示自定义提醒信息的功能。
下载地址:https://github.com/frankdilo/FDStatusBarNotifierView
3、MTStatusBarOverlay
MTStatusBarOverlay 是一个定制的 iOS状态栏,用于覆盖系统默认的状态栏。
下载地址:https://github.com/myell0w/MTStatusBarOverlay
4、iCarousel
iCarousel 是一个用来简化在 iOS 上实现旋转木马时的视图切换效果,支持 iPad,提供多种切换效果。
下载地址:https://github.com/nicklockwood/iCarousel
5、MWPhotoBrowser
MWPhotoBrowser 实现了一个照片浏览器类似 iOS自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。
下载地址:https://github.com/mwaterfall/MWPhotoBrowser
二维码:
1、zxing
zxing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、DataMatrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端。
https://github.com/zxing/zxing
2、ZBar
ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台包括 iPhone 手机。同时 ZBar提供了二维码扫描的 API 开发包。
3、ObjQREncoder
ObjQREncoder 是Objective-C的二维码的编码器,用于生成二维码图像。
https://github.com/jverkoey/ObjQREncoder
当前gitHUb - top100 第三方简介
![](https://i-blog.csdnimg.cn/blog_migrate/e4c4956a156db38a653f457dbcbd4542.webp?x-image-process=image/format,png)