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

直接拿来用!最火的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开源项目(三)

信息大图《愤怒的小鸟》发家史 Intel预测:10年之后你的手机是48核的 消息推送惹怒用户:应用开发者请别太过分 创新工场:我们如何孵化未来? iOS越狱比例下降:国内移动开发环境怎么了? 响应式图像技术与资源分享 看Twitter如何应对大选:少些Ruby 多些Java 软件开发中常见的十大系统瓶颈 [CTO俱乐部87期]三人行架构分享:开源是背后的支柱 推荐5款超实用的.NET性能分析工具 OpenStack基金会主席Alan Clark访华 欢迎提问 程序员的十大烦恼 兼顾性能和兼容体验:HTML5时代的浏览器全面测试 Lisp的本质 Amazon工作环境恶劣员工高流失率 为何却依然能持续成功和创新? 对几个软件开发传统观点的质疑和反驳 [实战分析] 编写高效的JavaScript程序 Twitter的系统编程 百度高通达成合作 为Android终端提供云服务 EasyHadoop技术沙龙在北京、广州两地齐发 CloudStack技术沙龙:committer李学辉及中航信分享 思科为什么愿意花12亿美元收购云计算网络初创公司Meraki? 谷歌有麻烦了!联邦贸易委员会正调查其搜索业务 当数据中心遭遇污水 微软新能源数据中心的诞生 2012vForum:更加注重开发者 腾讯赵伟:Hive在腾讯分布式数据仓库的实践 Apple将在2013年启动香港数据中心的建设 顶级域名扩张受阻:ICANN透露部分域名存争议 硅谷创业教父Paul Graham:如何获得创业好点子? GDC2012特别报道:中西方游戏开发思想在这里融合 应用示例和对象是编程的未来吗? 弱智型问题,好心人进来拿分吧! 在javabean中怎么去使用输出参数是游标的存储过程,希望的到一个例子 2002年最后一天,失恋了! 静态成员变量是全局变量吗?我能够在一个模块的几个不同文件中声明同名的静态成员变量吗? 求救!!!会不会仅仅是病毒的问题? compute 字段在报表中的应用问题?在线等待! 高分相送,c++ builder中使用ocx控件 关于listview与数据库的问题,请大家帮我看看程序出错在哪?谢谢!! 高手请进!! 高手请进!! 关于数据库问题 高手请进!! 静态成员变量是全局变量吗?我能够在一个模块的几个不同文件中声明同名的静态成员变量吗? 一个奇怪的问题——ADO连接数据库 还是文件上传的问题~~ 怎样取得水晶报表的总页数? 现在还有多少在做lotus开发的程序员啊?有没前途,这东西? 用VB怎样调用SQL的计划任务 Help!Help!关于在application中(不是applet)用MediaTracker读图片的问题,高分酬谢。 请高手指点高程软件工程部分哪些书比较好啊! 当程序与远程数据库服务器建立连接后断网了,怎么能让程序自动再建立连接?谢谢 关于tatabto控件的问题!! 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫? 在网关上修改通过的数据包,要求增添一些数据,请问大家有什么方法,要注意什么问题? 我原来有个ucap.jar包,把它拷到和notes.jar包同一个目录,代理中import不进来。请问各位大虾要不要设置classpath,怎么设置? 流场的可视化 这样的模板为什么不工作?? 请问这是什么错误!!各位帮我解决一下! 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫?帮帮小妹吧 hellogzz,我就这80分,给你了 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫? 有关form的菜菜问题,求助!!! 在存储过程中如何进行字符的运算 如何从表中随机选择一条记录? ?急救,在线等候!delphi怎么实现可以在word里面通用的报表??高分 Norton 服务器版怎么样?是否服务器升级病毒库后客户端可以从服务器上直接升级呢? 如何采用触发的方式接受串口消息,并将消息内容转化成字符串型? 各位高手,如何针对不同尺寸和分辨率的屏幕设计软件界面? 我ADVGRID6的控件组,在DLEPH7下通不过,总是说缺.PAS文件,其实它已经存在!为什么... 重分悬赏2000PROFESSION下配置PHP+MYSQL的方法。 关于editmask 请教关于串口控件——SPCOMM的简单问题 设计时数据模块突然无法打开,而运行时也报“无法连接sql server或网络连接失败”怎么办? 图形重绘的问题 关于对象字段的问题,up有分 做VC程序员半年来的感受和一年来的经历 CFile 请问如何使下面的窗口得不到焦点 其实我觉得这个社会上还是缺人才的。 CB编译错误谁能解决?(100分) c#中定义一个未知类型怎么做? 金华幼儿园收费要网上公布,接受市民监义乌一女子腿部被公园喷泉出水口卡住划杨达才家庭财产1177万 504万来检方:杨达才家庭财产1177万 50杭州公租房今年首次摇号 共有1086东北局部地区遭受洪涝灾害 直接经济损卫计委:提高乡村医生待遇 禁挪用截留中国省级党政机关2020年前至少录用驻日本冲绳美军举行“鱼鹰”飞行部队重美国高官称攻叙行动正当 使用化武行为国家信息中心:中国网速仍落后于全球平斯诺登揭秘文件曝美情报部门追捕拉登预习近平:我一直关注着东北老工业基地中央对藏身于日常生活中的腐败“动真格新顶级域名金矿引发商标跨界保护战 T日中止Epsilon火箭发射或因数据浙江教育厅出台规定 暂缓未签游学项目外国小伙骑摩托车撞人 已被警方限制出义乌一名老总为孙子上学被司机骗六万元宝马X3车主恶意在大客车变道急刹车男子伙同他人偷金器藏妻子文胸里日媒:安倍参拜靖国神社引政治混乱 对中国地方控烟立法趋严詹姆斯获最佳男运动员成篮球届第3人 法媒:欧洲香槟销量连续下降 中国市场法媒:土耳其发生民众游行示威 要求总探访“莲花秘境” 西藏墨脱太原将借助新型雷达“人工减霾”舍伍德:我从未担任过主教练 热刺选我日本经产相访问俄罗斯 寻求降低液化天奶粉掺盐杀婴案今移审 恶伯母恐难交保李克强天津视察:比尔·盖茨和乔布斯都李克强鼓励创业者:盖茨和乔布斯都从小李克强鼓励创业者:政府会为你们增加营安徽固镇一男婴接种疫苗后死亡 卫生局孟加拉国大选引暴力冲突 该国民主党领乌鲁木齐市幸福路街道241名保洁员领10米圣诞树惊艳乌鲁木齐市高清:《爸爸去哪儿》时间倒回灵水村 韩国拟在新万金建设与各国的经济合作特韩媒聚焦中国毛泽东同志诞辰120周年“十年后,谁来养蜂?”
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘