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

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

中国云计算大会PPT集萃(四):数据安全与实际应用挑战 CDN前景光明,SDN发展的驱动力源于对产业的颠覆 Android、WP双系统若要发展 难题不断 即将于下周召开的微软Build 2014六个愿望清单 【独家专访】腾讯陈磊:你不知道腾讯对开源有多爱 地下数据交易网站Rescator被黑,疑似Target报复 Spark独门秘籍:打造结构一体化、功能多元化的高效数据流水线 【走进支付宝】重磅嘉宾!历届“走进企业”回顾 【OSTC讲师专访】腾讯TDW项目:开源的分布式数据仓库 ID爆发的物联网时代,我们该如何管理手中的数百个账户 取代Google Maps?苹果大幅优化Apple Maps用户体验 中交兴路系统架构师杨晓明:Hadoop+Storm+ HBase…,打造交通行业创新型服务 雨果·巴拉的第二春:我与小米的那些事儿 为什么Android Wear能统领智能手表领域? LinkedIn缘何抛弃Ruby,转投NodeJS怀抱 【OSTC讲师专访】九秒社团李明:开源对游戏产业的渗透与帮助 IBM 2014中国论坛:挖掘新互联网时代下“智慧企业”的发展之路 Facebook工程部副总裁Cory Ondrejka谈企业在早期所遇到的管理瓶颈 小团队管理工具选择:不需要大而全 《近匠》聚合CEO左磊:基础数据免费,API开放 IDC:HTML5与原生应用之争还将长存 不甘称臣,Google誓要击败Amazon 【OSTC讲师专访】腾讯追风(QcloudMna):开源移动加速SDK Google Go:一门为云而生的编程语言 3月26日:没有Larry Page,就没有今天的Google Hortonworks再获1亿美元融资,Hadoop领域三足鼎立 Intel收购Basis Science,欲拓展可穿戴设备市场 Facebook以20亿美元收购Oculus:虚拟现实将是未来计算平台又一大事件 基于NodeJS的14款Web框架 Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 一道scjp考题,问题答案都有,谁看明白了给俺解释一下,会送分的 急急急,40分想送!!!!! b/s结构下的新邮件提示问题(重赏!!!) 哪里可下载WINXP DDK和SDK 别忘了向我祝贺啊,今天也是我的生日!! 如何让光标不离开DBGrid的当前行,就将当前记录的修改提交数据库 好心的大虾们,帮帮我!有关gis的 ORACLE的触发器怎么弄 用C++怎样统计文本文件中的字符个数,请给源代码 讨论:不经人大批准给公务员加薪是腐败行为? http://www.csdn.net/expert/topic/389/389043.shtm 怎么样才能将*.pdf文件转成*.doc 急急急急……快帮忙,icevi,弱水快帮忙。 JAVASCRIPT 中怎么样用VBA的函数? 用VB怎样遍一个程序用列表的形势,找到并显示局域网中所有已经打开的SQL服务器名? C++标准类库中有没有类提供<<操作符输出调试信息? JAVASCRIPT 中怎么样用VBA的函数?我急呀~ ~~~~~~好心的大虾们,帮帮我,关于gis~~~~~~~~~~~~ 关于在mfc中使用stl中的警告问题? 关于视频播放控件的开发 在单位上了网通,我们通过局域网上internet,可是服务器装了wingate…… 怎样在程序里实现window下“打开方式”对话框,具体用什么类? 我下载了好多经典书籍(十几本),都不知道该从哪儿看起? 怎么处理没有用的连接文件? 问个菜问题 热烈庆祝灰毛兔参与分超过30000分~~~热情大送分~~!! (灰毛兔) 请教如何打包crystal report 7.0驱动引擎到我的安装程序中? 用open打开的页面如何RELOAD打开他的那个父页面? 谁有jet请发给我!谢谢!! 如何开发排序(用C或C++) 新手求教:请问怎么可以把含逗号(如:sa,ffd,sdf)的字符串从逗号处分开,变成独立的几个字串sa ffd sdf? 急!请问如何在程序启动时自动检测MODEM?能给出CODE最好。 如何在unix上远程安装软件 KeyPress事件处理疑问 TComboBox能不能有OnMouseDown事件??? 请教哪里有付费便宜、性能稳定、访问速度快的支持ACCESS、ASP的空间? 加载不了*.ocx控件是怎么回事? 我的CStatic上为什么不能贴位图? 主页何为佳? 偶用ultradev,在table里绑定字段,并作了重复区域的设置,但是live data 的结果总是一列纪录出现在一个单元格里,而且只有第一个单元格里有数据,其他是空的,怎么回事?//牛虻 ClassView Information file如何恢复,急,知道的朋友望告之! 500分求一好用的代理服务器,能访问www.creaders.net这样的网站(按:贴太多结不了,无法在水园发贴,烦版主转到水园) 各位高手,我的分发光了,问题还没解决。帮帮我好吗 请问什么叫专家分..怎样得到专家分,你们的专家分都有多少...有超过1000的吗 -->> sql语句中求和问题. 急急急急!!!,请教一个VB中SQL语言的问题!!! 请教关于数据代入的问题 我们公司把qq给封了,好着急啊,谁知道有什么办法?送分啊~~` 俺要怎么办? 怎样得到DBGrid 中某一单元格的Focus,因为我要处理这样的问题,在DBGrid中输入的数据如果不正确,则focus不能离开此单元格。 VB中的Byte型数据在PB中是什么类型? 春联中的语文艺术 (也是生活中处处有语文) 初一课文《在山的那边》的文章结构是什么? 要求列方程,一元一次的方程关于x的方程(a+1)x^a+2的绝对值+b=0是一元一次方程,求2a^2-a/3-a^2a/2-a^2+5a/6的值. 12厘米等于多少纳米 米和纳米怎么换算 1纳米=0.000000001米,则2.5纳米用科学计数法表示为( )A、25*10的‐5次方(米) B 、2.5*10的-9次方(米)c、2.5*10的-10次方(米) D2.5*10的9次方(米) 12毫米等于几米 在山的那边 1纳米=?米 一个数的小数点向右移动两位后比原来的数增加了198,原来这个数是多少 《在山的那边》语文问题结合全诗内容品位字里行间蕴含着的感情.(1)于是,怀着一种隐秘的想望有一天我终于爬上了那个山顶.(2)再山的那边,是海!是用信念凝成的海.我很超前了啊~我们 1纳米=0.000000001米,则260纳米用科学计数法表示为()米 一个数的小数点向右移动两位后,得到的新数比原来的数增加了198,原数是( ) 这首诗叙述了一个山区孩子童年的 ,即对 和自信 2.5纳米=多少米 作文题目谁有, 你最欣赏文中的哪几句诗?请说明欣赏的理由 冠状病毒的直径为1.2×102 纳米,用科学记数法表示为 __米 作文题目创造的达人注意了!我是一个(充满幻想,不达目的不罢休的人)把括号内的语句简练,意思相同,最好有心意.(right now) 纳米是非常小的长度单位,1纳米=10^-9米,某红外线遥控器发出的红外线波长为为940纳米,则用科学记数法表示为 修改病句 由于她这样好的成绩,得到了老师和同学们的赞扬.由于她这样好的成绩,得到了老师和同学们的赞扬.旧社会,劳动人民吃不饱,穿不暖的生活.他的革命精神时刻浮现在我眼前.苏州、杭 哪个语文达人谁能完美地做出这道语文题?富兰克林说:“空袋子难以直立.”举事例说明. 一个两位小数,去掉小数点后,得到的新数比原来的数多68.4,原来的数是多少?希望你能尽快回答!把过程也打出来! 出席这次会议的有几个学校的老师.修改病句 这个字念什么.“簪”没有草字头,下面两个虫.可能是繁体字. 材料作文总爱跑题,怎么办?材料作文总爱跑题,自己想的和中心、立意不知怎么弄的就是不一样,不知道该抓什么、写什么,很是苦恼.命题作文就好些.题目不会写、中心意思总是理解不好... 病句听 了老师的鼓励,大家的信心坚强了许多怎么改 50纳米等于多少毫米 材料作文这样写算跑题吗有一段材料:你无法改变生命的长度,但你可以拓宽它的宽度.我写了奥斯特洛夫斯基和孙中山先生,写了他们的人生经历和比常人更伟大的一生,但他们都活的不长久, 一个两位小数,把小数点去掉,得到的数比原数大31.68求原数.写下这类题怎么做 在语文课上,老师布置同学们写—篇科学幻想的作文.小王写了一篇题为“没有重力的世界”的作文,里面有这样一段话:小明乘着“神舟”x号宇宙飞船来到一颗叫“西施”的小星上,这个星球 谁知道这个材料作文的主题是什么?写哪方面的不会跑题?材料:小蒲公英问蒲公英老人:“留下什么遗产?”老蒲公英没说什么,只是默默地在每个孩子头上戴上了一把远飞的伞.要求:1、请据 25纳米等于多少米 浙教版初一上册语文书的第1课是《在山的那边》吗? 语文考试作文跑题今天语文考试作文题目是成长需要XX 记叙文 我写的是成长需要挫折 然后我的内容是写了天空的王者鹰是在挫折中练就的 然后写幼鹰刚出生就要磨练什么什么的路上有各种 一个一位小数,去掉小数点后,得到的新数比原数多68.4,原数是多少? 七上语文导学新作业第1课在山的那边的答案啊 今年六级作文跑题了!请问跑题作文能给多少分啊?今年这作文题目明显有歧义啊!我给写成大学内学生的排名了!这样子带该能得多少分?语句什么都挺好的!给的了30分吗? 我的老师 要通过两件事情来写 其他的看补充 【急】我的老师 要通过两件事情来写 字数600字↑ 最好写小学的 不要写初中的老师 【急 在山的那边于是,怀着一种隐秘的想望.隐秘的含义是什么? 生活的启示作文400 (要有详细事例)别太深刻,我看不懂就把你毙了.崩崩崩. 我的老师 第一课是《在山的那边》 第二课是《走一步,再走一步》 ··············· 难忘的小学生活作文(有具体事例)(小学六年级600字作文) 作文题目:我爱我的老师怎样写 纳米和米怎么换算? 文章:难忘的一课的答案如题主要内容【一句话概括】 联立方程组怎么解a1+an=66a1*an=128这个方程组怎么解? 用96朵红花和72朵白花做成花束,如果每束花里红花的朵数相同,白花的朵数也相同,问每束花里最少有几朵花要写算式 如果x=12345678910111213……999,中的数字是依次写下1到999而得到的,则小数点后第2004位数字是多少?不好意思``x=0.12345678910111213……999 0.009纳米=_____米 900纳米=_____米 (科学计算法) 五(1)班同学用96朵红花和72朵白花做成花束,如果各束花里红花的朵数与白花的朵数相同.问:最多可做成多少束花?每束花里最少有几朵花? 如果x=0.1234567891011121314...999是依次写下1到999而得到的,那么小数点后第2005位数字是__ 0.009纳米等于多少米900 纳米=_____米 (都是科学计算法哦) 生活处处有语文的资料 如果X=0.12345678910111213…999中的数字是一次写下1到999而得到的,则小数点后第2004位数字是多少? 以纳米为单位表示0.873米 “生活处处有语文”资料(七年纪上) 初一语文【在山的那边】课后习题『作文』 我知道1纳米等于10的-9次方米,但有谁知道0.3纳米等于多少米?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn