说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

直接拿来用!最火的iOS开源项目(一)

HTML文档下载 WORD文档下载 PDF文档下载
苹果App Store本身所具有的独特DNA也催生了众多iOS开源项目,开发者可以直接将这些项目运用到自己的App中,从而实现各种功能或特效。今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目。

在结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点。今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗?


1. AFNetworking

在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到它。


  • 支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);
  • 支持ARC;
  • 要求iOS 5.0及以上版本;
  • 有一些插件扩展已有的功能,还有一个功能齐全的API;
  • 从URL中获取JSON特别简单。

详情请参考:AFNetworking官网

2. Three20

Three20原本是iPhone版Facebook中所使用的工具库,包括照片查看器等一系列的iPhone UI类集,以及HTTP磁盘缓存等一些通用工具。后来从Facebook iPhone应用中剥离出来,成为了一个深受开发者喜爱的通用框架。


3. facebook-ios-sdk

此前在“GitHub上最受欢迎的开源项目”Android系列文章(一)中,我们曾介绍过允许开发者将Facebook集成到Android应用中的Facebook SDK for Android。Facebook SDK for iOS和它一样,可以让开发者将Facebook相关功能集成到自己的iOS App中。


Facebook无疑是最成功的SNS社区,如果能够让App具有与Facebook集成的功能,那势必会带来非常好的效果。Facebook SDK for iOS项目更新频率很高,想要获取更多关于示例、文档、将SDK集成到App中、源代码等信息,可直接登陆Facebook Developers查看。

4. RestKit

Restkit是一个主要用于iOS上网络通信的开源Objective-C框架,除了发送请求、接受响应这些基本功能外,还附带Core Data,以及将远程JSON映射为本地对象的功能。


主要特点:

  • 可在iOS和Mac OS X的Objective-C中与RESTful Web服务进行简单交互;
  • 包含简单的HTTP Request/Response API;
  • 带有强大的对象映射系统,用于减少代码长度;
  • RestKit可降低JSON/XML的处理的资源消耗,支持通过SBJSON和YAJL进行JSON解析。
详情请参考:Restkit

5. asi-http-request

ASIHTTPRequest是一款极其强劲的HTTP访问开源项目,能够让简单的API完成非常复杂的功能,比如异步请求、队列请求、GZIP压缩、缓存、断点续传、进度跟踪、上传文件、HTTP认证。


ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。使用Objective-C编写,能够同时用于Mac OS X和iPhone应用中。

详情请参考:ASIHTTPRequest

6. cocos2d-x

在《直接拿来用!最火的Android开源项目(一)》中,我们已经非常详细地介绍了cocos2d-x开源项目。cocos2d-x支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。

详情请参考:cocos2d-x

7. cocos2d-iphone(cocos2d)

cocos2d for iPhone是一个开源框架,用于为iPod Touch、iPhone、iPad及Mac OS X构建2D游戏、演示程序及其他图形交互式应用。基于cocos2d设计,使用相同的API,但不同于cocos2d使用Python,cocos2d for iPhone是使用Objective-C实现的。


cocos2d for iPhone主要特性:

  • 免费
  • 易于使用
  • 社区支持
详情请参考:cocos2d-iphone

8. cocos2d-iphone(jpsarda)

该项目是对cocos2d for iPhone的扩展。

9. GPUImage

GPUImage是一个基于GPU图像和视频处理的开源iOS框架。


主要功能如下:

  • 提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜;
  • GPUImage顾名思义,是基于GPU的图像加速,因此图像处理速度非常快,并且能够自定义图像滤镜;
  • 支持ARC。

10. MonoGame

MonoGame是一个Microsoft XNA 4.x Framework的开源跨平台实现。此前在Android开源项目系列文章(一)中我们也进行了详细的介绍。

MonoGame支持平台:

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

11. Nimbus

Nimbus是一个开源的iOS框架,比起Three20,Nimbus的文档更为全面、丰富,能够实现很多非常炫的界面特效。因此,开发者可以借助Nimbus来降低项目设计的复杂度。


12. cheddar-ios

Cheddar是一个简单即时的任务管理器,Cheddar for iOS是Cheddar的iOS客户端,通用于iPhone和iPad。

  

开发者可以直接登陆App Store下载该应用。

13. ViewDeck

IIViewDeckController能够实现类似于Path 2.0 的视图左右滑动的效果,支持向左或向右顺滑的滑动操作。

 

点击链接,查看视频演示(常规演示灵敏性演示),注意,需翻墙的哟。

14. ShareKit

ShareKit是iPhone开发的第三方接口,允许你一键分享文字、图片、网址、文件等内容到Facebook、Twitter、Delicious、Tumblr、Google Reader等第三方网站上。


详情请参考:getsharekit

15. GMGridView

GMGridView是一款开源的iOS(iPhone/iPad)表格视图,允许用户手势对表格单元进行排序,在单元格需要展示时才进行装载,这样极大地提高了表格的效率。其中的伸缩/旋转/平移手势能够让用户改变视图,还能够实现从CellView到全屏的切换。


详情请参考:gmoledina

16. QuickDialog

QuickDialog可以帮助开发者快速创建复杂的表单,实现包括登录界面在内的各种样式的TableView输入界面,此外,还可以创建带有多个文本域的表格及项目。

 

开发者可以直接登陆QuickDialog官方网站,获取更多信息或文档。

17. appirater

Appirater是一个可以直接使用到任何iPhone应用(iOS4.0及以上)中的开源类,用于提醒用户在打开App时,对应用进行评论或打分。


详情请参考:Appirater group

18. SVProgressHUD

SVProgressHUD能够实现多种HUD效果,多用于程序正在执行耗时较长的任务,需要用户等待。除了显示等待的HUD,还可以显示命令执行成功或者失败的HUD。


19. Reader

该项目能够让iOS开发者轻而易举地在iOS设备屏幕上显示PDF文件。代码通用,不需要任何XIB(因为所有UI元素都是代码生成的,具有极大的灵活性),运行于iOS 4.0及其以上版本设备中,同时还支持所有Retina Display设备。

 

支持:

  • 诸如iBooks等的文档导航;
  • 设备全方位旋转;
  • 对PDF进行加密(密码保护);
  • PDF链接(URI及跳转页面);
  • PDF旋转页面。

20. CocoaAsyncSocket

CocoaAsyncSocket提供了十分强大而又易用的Mac OS X及iOS异步套接库,支持TCP和UDP,其中,AsyncSocket类是支持TCP的,AsyncUdpSocket是支持UDP的。


AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库,提供异步操作。AsyncUdpSocket是UDP/IP socket网络库,包装自CFSocket。

以上为GitHub上最受欢迎的iOS开源项目TOP20,敬请期待GitHub上最受欢迎的iOS开源项目系列(二)。

(文/唐小引 责编/张宁)

系列阅读:

直接拿来用!最火的Android开源项目(一)

直接拿来用!最火的Android开源项目(二)

直接拿来用!最火的Android开源项目(三)

透过KitKat,Android或与ChromeOS融合? 利用Spring Data Neo4j搭建推荐系统 七丽借百度SiteApp移动化 分发及变现能力获大幅提升 Go语言4岁了 生日快乐 谷歌发布Web延迟基准测试工具 专访JS-Git创始人Tim Caswell:让Git运行于任一平台 一段代码引发的思考 2013年美国开发者薪资调查报告 MDCC之移动娱乐游戏峰会:金玩奖揭晓最火游戏 算法为王:且看Mac Mini如何超越1636节点的Hadoop 鲍尔默成大善人?微软正式废除员工排名评审制度 工信部软件司副司长陈英为MDCC 2013大会致开场辞 全民移动•重塑世界 2013移动开发者大会盛大开幕 泯灭Web App可用性的七个开发错误 保益互动创始人曹军:听到的世界更精彩,盲人应用背后的故事 Gumi公司CEO国光宏尚: 大公开!日本手游市场攻克方法! Great Hill Partners高管Chuck Goldman & 南京创毅CEO William Wei:超越黑莓——下一代企业移动 高通业务拓展副总裁沈劲:智能手机2.0——以体验为中心 百度副总裁李明远:百度轻应用——长尾APP的最佳选择 中国工程院院士李德毅:大数据时代的认知计算 创新工场联合创始人汪华:2013年中国移动互联网进入深入区 百度副总裁李明远:解答关于百度轻应用的八大疑问 谷歌推出PNaCl,帮助开发者在任何硬件和网站上运行代码 阿里云:双十一350亿交易额的幕后英雄 索尼移动智能设备全球技术总监Goran Andersson:索尼移动可穿戴设备解决方案 腾讯社交网络事业部副总裁陈磊:腾讯移动开发者服务体系 基调网络副总裁陈靖华:全面掌握移动应用性能 蓝港在线创始人王峰:手游新时代下的机会与挑战! Couchbase CEO Bob Wiederhold:数据库云端同步,移动应用开发的未来 三星电子大中华区副总裁黄伽卫:构建移动互联生态,解读内容服务新方向 MDCC 2013移动开发者大会:新浪潮,新硬件! 请问如何用winsock传送jpg图片文件到客户机? 关于查询表的问题: 一个几何判断的问题 请教一个关于cgi:perl与数据库连接的问题。 embed sql 如何在SQL语句中使用中文字段名? Vs.Net的正式中文企业版(正版)多少钱?连邦/赛乐氏/微软中国居然都没有报价,真是!◎#¥%……※×( 11111111111111111111 VB中通用对话框的问题(急!!! 100分!!!) 我想将word文档插入dbrichedit中,听说可以用ole对象,该怎么用呢? 为什么是乱码???高手快请进来,100分 我该怎么走? *.rar文件用什么软件可以看到 请教各位一个算法思路 急救,需要像QQ上的,或者金山毒霸2002上的pager control,就是滑动的那个control 多文档应用的界面设计问题 编写数据库应用程序时出现error:BLOB has been modified。请问如何解决? 编译出问题了啊!??! 一个不该在这里出现的问题.. 但我实在找不出比这个更厉害的高手了..sos.. 有错吗??? 谁知道VS.NET中文版的CD-KEY? 怎样把用autocad14画的图给加栽到一个基于单文档程序中!! 一个很老的问题,但我不得不问,我很为难呀 怎样改变一个CPropertySheet的字体? 很幼稚的问题...(肯定给分) 看书发现的两个概念性问题,可能很简单,请说的详细一点!多谢帮忙! 用UDL连接数据库的问题???奇怪 哪位老兄有修改网卡mac地址的冬冬? 高分寻找:*.mp3转*.rm的软件。 为什么不能执行?高手请进! Access导入到SQL,可以导入ID字段的吗? 头疼的问题!!!!!!!! 还记得那首老歌吗? 如何获得窗口任意位置的被选文本 先有编译器还是先有语言? 怎样使StringGrid中的某一列不可见? 如何遍历select下拉菜单中的内容,并显示在另一个select菜单中?(在线等待) 请高手指教:怎么创建动态链接库,怎么用动态链接库,我是一个初学者,唯有的50分全送出去请教此问题 有谁能帮我?我用OpenDialog找开数据库文件,只能打开一次。再次打开或打开另一个数据库文件,就会地址出错,why? 转让书刊 this->GetParent()->ShouWindow(SW_MIN..)最小化以后,却不能点击任务条还原,怎样还原 JBuilder如何产生Make文件? 如何使listbox的两列显示对齐? 如何在自己的主页中添加代码??用来污染IE的,到底是加在哪个位置??//最好写具体些!!! 关于图片存入数据库的问题 请教大量二进制数据在内存中的存放(马上给分) 讨论:有关tomcat的解释顺序的问题. TechnoFantasy 请近来,还有100分哦:) 打印问题 强烈建议在文档中心增加C++ BUILD!!! 对于同一个SOCKET,能否起多个线程同时读、写呢?如何实现? 为什么猴会变成人 ABBB-CCD=D A=( )B=( )C=( )D=( )字母分别代表什么数 关于滑动变阻器分压接法,在线等例如伏安法测电阻中,分压接滑动变阻器,是要先把整个滑动变阻器接入电路在并联么?有什么作用啊? 调查一下邮政编码“563800”中,从左数每位数字各表示什么? 已知数列1/1x3,1/3x5,1/5x7,…,1/(2n-1)(2n+1) (1)求出s1,s2,s3,s4;(2)猜想前N项和Sn 把字母ABCD随机排成一行,则其中B紧接在A后面的概率是 为什么猴子会变成人呢? 设数列{1/(2n-1)(2n+1)}的前n项和为Sn,求S1,S2,S3,S4(1)求S1,S2,S3,S4的值(2)猜想出Sn的表达式并验证 将A,E,L,P,P五个字母随意排列,求正好拼出APPLE的概率 邮政编码563800 中.从左数每位数字各表示什么? 地板砖上 有染色怎么办 {3x-y+z=4,2x+3y-z=12,x+y+z=6 已知一个N2O3分子的质量为ag,一个 N2O5分子质量为bg,若以氧原子质量的1/16 作为相对原子量标准,则NO2的相对分子质量为什么不能用b-a/2算O原子质量,用b+a/2算NO2的质量为什么不能用b-a/2算O原子质 (1)滑动变阻器滑片与电阻丝之间是否绝缘 (2)滑动变阻器的作用 (3)滑动变阻器的工作原理 滑动变阻器的原理是什么? 我同学说他的GRE老师怎么样怎么样,GRE老师是什么意思 滑动变阻器工作原理?来 汉语拼音”YO”怎么读?何时有的与他相近的是’YUE’还是’YAO’"yo"怎么读?该如何拼? 经过老师的讲解,使同学们都明白了这个寓言故事的深刻含义.改病句 A B C D E F G ,确切来说就是以这几个字母为手字母的一句话、 汉语拼音yo怎么读汉语拼音中的yo应该怎么读呢 我一直以为“哟”这个字应该念you ,原来不是 应该念yo 不知道有什么区别呢这两个音?还有哦这个字的拼音是“o”,这么说来应该是“喔”的音 如何选择电阻作保险丝,我要开关电源的输入电压是230V,输出6W,那么保险丝式电阻怎么选择呢,就是说怎么选择电阻的阻值和功率 观察A,E,B,F,C这组字母,你觉得下个字母应该是什么? 汉语拼音里yo怎样拼读 用经常、张老师、我、小红、同学、语文、帮助、知道、学习,组成四个意思不同的句子. 家庭电路中的保险丝电阻大还是小家庭电路中保险丝为啦保护电路电阻大还是小?有人说大因为:Q=I²RT得.电阻越大越容易烧断,这样当家庭电路中电流过大时,就可以烧断形成断路以保护电 使用0.02%的钙红对木材植物细胞进行染色 染的是哪部分的颜色 大功率开关电源保险丝选取有什么特殊要求一部1000w的开关电源为什么保险用的是30A/BS13826*30 家庭电路保险丝的电阻是大还是小有人说大,因为焦耳定律说电阻大放热多,当电流过大可以烧短保险丝有人说小,因为保险丝不能分去太多电压到底是大是小啊 这个符号ヽ向左边的怎么打出来?这个符号ヽ有没向左边的?现在这个符号是向右边的又怎么打ヽ 向左边的又怎么打 已知1个N2O3分子的质量为akg,1个N2O5分子的质量为bkg,已知1个N2O3分子的质量为akg已知1个N2O3分子的质量为akg,1个N2O5分子的质量为bkg,若以1个氧原子(16O)质量的1/16作为相对原子质量的标准,则NO2的式 作文课上,老师要同学们写一件最有意义的事小明把一件事写好后觉得时间还早他接着又写了一件事.(看问补)老师给他的批语是画蛇添足.请问句中的蛇是指什么,足是指什么.画蛇添足在句 滑动变阻器的基本构造滑动变阻器是用( )较大的合金线制成的,这种合金线又叫电阻线. 一个N2O3分子的质量是a克,一个N2O5的质量是b克 ,若以氧原子的1/16作为相对原子质量的标准 则NO2的相对分子NO2摩尔质量=[(a+b)/4]÷[(1/16)(b-a)/2]=8(a+b)/(b-a) 这步是怎么来的、 一个N2O3分子的质量是a克,一个N2O5的质量是b克 ,若以氧原子的1/16作为相对原子质量的标准 则N2的相对分子 滑动变阻器原理 ASCII 码表中大小写字母的代码相差32 现在已知:字母A的ASCII码是65 则字母h的ASCII码用十六进制表示是:A:104H B:68H C:72H D:48H 开关电源中的RCD峰值吸收回路的工作原理是怎样的主要讲一下吸收的过程,请讲详细点. 滑动变阻器有什么结构? 十六进制中的F代表什么数字 开关电源,电路中尖峰脉冲吸收回路的电阻阻体与散热片打火会有什么现象!开关电源,电路中尖峰脉冲吸收回路的电阻阻体与散热片打火会有什么现象,尖峰脉冲吸收回路的电阻阻体与散热片 电阻烧坏了,保险丝也断了,更换保险丝和相同电阻后通电,大点的电阻烧黑,后更换小200欧的电阻,但通电,短接绿黑线,没反应,我该怎么办,重点检查哪方面 已知英文小写字母a的ASCII码为十六进制数61H,则英文小写字母d的ASCII码为__? 黄历上说 “岁煞南 猴日冲(壬寅)虎”什么意思本人男 属虎 想2011年8月21日结婚 挑好日子了可是黄历上写的猴日冲(壬寅)虎 可以么 如何知道熔丝电阻?电阻大快断还是电阻小快断? 6位十六进制数000000表示的颜色是什么 猴日冲虎是什么意思 实木桌子铺了透明塑料膜垫后,发现桌子漆面花了,有的地方亮,好像沾上塑料上得亮膜一样,怎么处理啊! 《 想变成人的猴子》简介 黄历上的运势怎么理解?猴日冲虎,2014 年 1 月 31 日星期五农历癸巳蛇年正月小初一日宜除服,疗病,出行,拆卸,入宅忌求官,上任,开张,搬家,探病吉青龙 明堂 金匮 天德 玉堂 司命凶天刑 朱雀 白 如何清洗茶几垫 猴子是怎样变成人的呢 冲虎(戊寅)煞南 桌子上有个塑料垫垫上有个热水杯当水杯凉后为什么拿水杯时费劲 猴子为什么会变成人 冲猪、刑猴、害虎)冲猪(己亥)煞东什么意思? 滑动变阻器的分压接法与限流接法如何针对实验目的选择滑动变阻器接法 邮政编码“563800"中,从左数每位数字各表示什么? 已知一个N20分子的质量为n kg ,一个N2O3的质量为m kg.若以一个氮原子的1/14为标准,求氧原子的相对原子量 滑动变阻器分压接法原理.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘