在结束了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应用中剥离出来,成为了一个深受开发者喜爱的通用框架。
此前在“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
ASIHTTPRequest是一款极其强劲的HTTP访问开源项目,能够让简单的API完成非常复杂的功能,比如异步请求、队列请求、GZIP压缩、缓存、断点续传、进度跟踪、上传文件、HTTP认证。
ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。使用Objective-C编写,能够同时用于Mac OS X和iPhone应用中。
详情请参考:ASIHTTPRequest
6. cocos2d-x
在《GitHub上最火的40个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
该项目是对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旋转页面。
CocoaAsyncSocket提供了十分强大而又易用的Mac OS X及iOS异步套接库,支持TCP和UDP,其中,AsyncSocket类是支持TCP的,AsyncUdpSocket是支持UDP的。
AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库,提供异步操作。AsyncUdpSocket是UDP/IP socket网络库,包装自CFSocket。
21. SSToolkit
SSToolkit可以说是iOS开发者最常使用的工具类之一,该开源项目提供了一个完整的iOS类库集合,用于解决iOS开发者在开发过程中常碰到的一些问题,比如追踪一款设备是否具有视网膜显示屏或是否能剪裁图片,包含SSCollectionView、SSGradientView、SSSwitch等诸多非常方便的类。
如果想要对SSToolkit作进一步了解,可以在iPad/iPhone上使用SSToolkit的Demo应用SSCatalog。获取更多信息,可直接登陆S.S. TOOLKIT。
22. XMPPFramework
XMPPFramework是一个使用Objective-C编写的用于Mac/iOS开发的XMPP框架,它提供了一个RFC-3920(XMPP标准)核心实现,通过某些特定工具读写XML。XMPPFramework有着非常丰富的建立在模块化架构之上的XEP扩展,开发者可以将其直接插入到代码中,使用GCD构成,即使是在非常老旧的iPhone或12核Mac
Pro上,它都能高效运转。
为了方面开发,苹果iOS SDK提供了UISplitViewController用于iPad左右分栏界面显示,但对于开发者而言,UISplitViewController使用起来并不方便,在开发过程中,总会遇到许多问题。于是,天才的iOS开发者Matt Gemmell在GitHub上发起了一个名为MGSplitViewController的开源UISplitView实现,它比苹果官方UI组件所提供的分栏类功能更加丰富。
最初Matt编写MGSplitViewController只是为了方便自己使用,但最终Matt决定将其开源,供所有iOS开发者使用。如果想要了解更多关于MGSplitViewController的信息,可直接登陆Matt Gemmell博客查看,也可点击链接,查看视频演示(需fan(我勒个去)墙)。
CocoaLumberjack集快、简单、强大、灵活于一身,和log4j等其他非常受开发者欢迎的日志框架的概念类似,专为Objective-C设计,用于iOS和Mac,拥有多线程、GCD(如果可用)、无锁原子操作和Objective-C运行时的动态特性。
PSTCollectionView是用于iOS 4.3及其以上版本中的UICollectionView的100%开源API兼容替代品。如果想要使用UICollectionView,但仍然需要支持老版本的iOS,那么这个项目你一定会非常喜欢。如果想要始终使用PSTCollectionView,使用PSTCollectionView作为类名称即可。
当然,如果你想在iOS 4.3/5.x上使用PSTCollectionView,但在iOS
6上使用UICollectionView,可以在所有UICollectionView类上添加PS,以获得对老版iOS的自动支持,这样就可以随心所欲如你所愿地使用PSUICollectionView。
CocoaHTTPServer是一个用于Mac OS X或iOS应用的轻量级、可嵌入的HTTP服务器框架。有时候开发者需要在他们的App中内嵌一个HTTP服务器。无论是具有远程监控功能的服务器应用,还是使用HTTP进行后端通信的桌面应用,或者是提供无线访问文档功能的iOS应用,CocoaHTTPServer都能满足你的开发要求。
CocoaHTTPServer提供如下功能:
- 支持Bonjour广播内建;
- 支持IPv4、IPv6;
- 异步网络使用GCD和标准套接口;
- 密码保护支持;
- SSL/TLS加密支持;
- 快速、高效;
- 伸缩性强;
- 大量注释代码;
- 非常容易扩展;
- 还支持WebDAV。
27. PushSharp
在应用开发中,给App推送通知是很常见的方式。PushSharp正是这样一个能够实现向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone、Windows 8、BlackBerry(PAP)和Amazon(ADM)等多种操作系统推送消息通知的开源C#服务器端库。
主要特性:
- 支持多平台消息推送;
- API能够很流畅地为不同平台创建通知;
- 自适应信息频道(自动增加或减少消息链接);
- 使用异步代码,基于Event为导向调用类库;
- 100%代码托管,兼容Mono框架;
28. HockeyKit
此前在GitHub上“最受欢迎的Android开源项目”系列文章(一)中,我们曾对HockeyKit进行了详细的介绍。HockeyKit是一个用于iOS和Android下App更新的开发包,无论是iOS还是Android应用开发,它都深受开发者喜爱。
JTRevealSidebarDemo是一个能够实现类似于Facebook客户端和Path应用的视图切换效果的Objective-C库模板,其目的在于为开发者提供一个真正灵活的、可重用的解决方案。
JTRevealSidebarDemo可用于iOS 4.3和5.0应用开发,示例代码使用ARC构建,但该库本身则兼容ARC和非ARC。
PKRevealController是对ZUUIRevealController的进化ZUUIRevealController能够实现类似于Facebook客户端的视图横向切换效果。而PKRevealController则是一个iOS视图控制器的集合,能够让你实现多重控制器切换,非常灵活。
相关推荐
iOS-Github上的13套[地图相关源代码]
为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个Android开源项目 GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,...
github 上目前最大的swift 开源完整产品项目,由国际知名浏览器厂商Firefox 发起,Mozilla基金会支持,如果你有兴趣不妨为这个开源的浏览器贡献一点代码,也可以你自己学习用,利用涉及到各种相关iOS的技术,以及...
一、项目名称:GitHub应用程序,React Native安卓iOS。
这本书采用Creative Commons协议发布,并托管在GitHub上,意味着您可以免费阅读并可以用GitHub特有的方式参与本书的维护。 如何离线阅读 项目 gotgit/gotgithub 的版本库中的 gh-pages 分支保存着本书编译后的...
WSL是一款拥有 音乐播放,新闻,壁纸,画板,简易地图,计时器等等功能的小项目,是我自己早期学习时做着玩的,并没上架;UI是自己设计,所以挺吃藕的,粗糙的,没做适配,是在6尺寸下开发的 ,还希望不要嫌弃了O(∩_...
RSSRead, "已阅"(ios上开源rss新闻阅读器)新版移步 https 2017.2.4 新版可以移步到 https://github.com/ming1016/GCDFetchFeed##已有主要功能脱机送纸读取选择你想要的内容标记为已读并标记为已读##TODO增加...
软件版本:v1.0.2 软件简介: 蓝湖辅助工具,减少移动端开发中控件属性的复制和粘贴.一键导出iOS,安卓布局,还原度100%
Github上找到的一个超赞的Menu开源控件,适用于安卓开发,顾名思义,就是一个弧形的菜单控件,淘宝客户端就用了这个控件。内附详细demo
ios 常用开源controllers github object-c
开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest | 一款强大的图片滤镜...
MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileProject对于项目的搭建也进行很明确的划分,各个模块职责也比较明确,Mobile...
基于 swift vapor 服务器开发的即时通讯项目,开源前后台,想学习vapor服务器开发的同学,开源拿我的项目练练手, 工程文件较大,代码地址在附件里面 现已上架到App Store:...
GitHub上最火的74个开源项目 GitHub 开源项目 GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。 更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。 ...
IOS开源项目,期待大家和我们一起共同维护 github排名榜单 github搜索榜单: 说明 以下总结大部分来至于 [TimLiu-iOS] () ,欢迎大家查看 Swift版本 Feedback 期望大家随时能提出宝贵的意见(直接提交issues即可)。...
蘑菇街开源的 IM 项目 TeamTalk,包括 Android、iOS、Win、Mac 客户端以及 Server端、管理后台、环境自动部署,大赞!支持文字、音频、图片、表情、文件传输、屏幕振动、分组等,做聊天的同学可以看看 开源地址在...
在我们iOS项目开发过程中, 我们的团队成员都是分散的、分布式,这个项目管理带来了挑战。Git是一个能够进行版本管理的软件,它是cvs和svn的未来。下面我根据我们的经验总结一些心得如下:你是可以根据自己的需要...
WSL是一款拥有 音乐播放,新闻,壁纸,画板,简易地图,计时器等等功能的小项目,是我自己早期学习时做着玩的,并没上架;UI是自己设计,所以挺吃藕的,粗糙的,没做适配,是在6尺寸下开发的 ,还希望不要嫌弃了O(∩_...