您的位置:首页 > 移动开发 > IOS开发

GitHub上最火的40个iOS开源项目

2016-01-09 15:14 766 查看




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

在《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

8.cocos2d-iphonejpsarda

该项目是对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 的视图左右滑动的效果,支持向左或向右顺滑的滑动操作。







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

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开源项目系列(二)。

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上,它都能高效运转。

23.

MGSplitViewController


为了方面开发,苹果iOS
SDK提供了UISplitViewController用于iPad左右分栏界面显示,但对于开发者而言,UISplitViewController
使用起来并不方便,在开发过程中,总会遇到许多问题。于是,天才的iOS开发者Matt
Gemmell在GitHub上发起了一个名为MGSplitViewController的开源UISplitView实现,它比苹果官方UI组件所提
供的分栏类功能更加丰富。





最初Matt编写MGSplitViewController只是为了方便自己使用,但最终Matt决定将其开源,供所有iOS开发者使用。如果想要了解更多关于MGSplitViewController的信息,可直接登陆Matt Gemmell博客查看,也可点击链接,查看视频演示(需fan墙)。

24.

CocoaLumberjack


CocoaLumberjack集快、简单、强大、灵活于一身,和log4j等其他非常受开发者欢迎的日志框架的概念类似,专为Objective-C设计,用于iOS和Mac,拥有多线程、GCD(如果可用)、无锁原子操作和Objective-C运行时的动态特性。

25.

PSTCollectionView


PSTCollectionView是用于iOS
4.3及其以上版本中的UICollectionView的100%开源API兼容替代品。如果想要使用UICollectionView,但仍然需要支

持老版本的iOS,那么这个项目你一定会非常喜欢。如果想要始终使用PSTCollectionView,使用PSTCollectionView作为类
名称即可。





当然,如果你想在iOS 4.3/5.x上使用PSTCollectionView,但在iOS

6上使用UICollectionView,可以在所有UICollectionView类上添加PS,以获得对老版iOS的自动支持,这样就可以随心所欲如你所愿地使用PSUICollectionView。

26.

CocoaHTTPServer


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应用开发,它都深受开发者喜爱。

29.

JTRevealSidebarDemo


JTRevealSidebarDemo是一个能够实现类似于Facebook客户端和Path应用的视图切换效果的Objective-C库模板,其目的在于为开发者提供一个真正灵活的、可重用的解决方案。





JTRevealSidebarDemo可用于iOS 4.3和5.0应用开发,示例代码使用ARC构建,但该库本身则兼容ARC和非ARC。

30.

PKRevealController


PKRevealController是对ZUUIRevealController的进化ZUUIRevealController能够实现
类似
于Facebook客户端的视图横向切换效果。而PKRevealController则是一个iOS视图控制器的集合,能够让你实现多重控制器切换,非
常灵活。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: