王中周的技术博客

Stay hungry,stay foolish.

github优秀开源项目大全-iOS

前言

  1. 本文旨在搜集github上优秀的开源项目

  2. 本文搜集的项目都是用于iOS开发

  3. 本文会持续更新…

完整客户端

github的iOS客户端,目前开源代码是V1版本,V2版本在appstore上可以下载

使用XMPP协议的IM开源软件,很强大,在appstore上可以下载

SegmentFault的官方iOS客户端

开源中国社区oschina的官方iPhone客户端,appstore已上线。早期地址在github上,后来迁移到OSChina自己的代码托管平台.

实现了日历的基本功能,目前只支持iPad版本

美国白宫(WhiteHouse)的官方app,听起来很高大上哈

Ruby China的官方app

一款不错的日程管理软件,Appstore上能下载

第三方twitter客户端,不过作者上传后至今5年了都没更新过。。。

移动支付公司Square在其工程博客上宣布,基于Apache 2.0许可协议,开源了于去年12月初收购的照片管理和共享应用Viewfinder,包括Viewfinder服务器、Android和iOS应用在内的25万行代码已托管到GitHub上。 对此,Square工程师Peter Mattis在工程博客上表示,Square之所以考虑到将Viewfinder的完整代码公之于众,是希望能够与人方便,让开发者在应用开发过程中可以加以利用或作为参考。尽管Square团队并没有为Viewfinder提供技术支持,也没有进行Bug修复,但此举还是赢得了满堂喝彩一致点赞。

Viewfinder包含了许多非常有趣的代码,对于开发者来说,绝对是大大的Surprise,主要如下:

. Viewfinder服务器提供了一个拥有各种Amazon DynamoDB索引选项的结构化数据库架构。
. 服务器还提供了数据库和协议层版本控制支持。
. 在本地元数据存储方面,Viewfinder客户端使用LevelDB,相比CoreData,更易于使用,也相当便捷。
. 内置可直接运行于移动设备上的全文本搜索引擎,支持联系人和图片搜索。
. 使用GYP生成Xcode项目文件和Android构建文件。
. 支持C++模板元编程,可使用C++11可变参数模板根据C++方法自动计算Java方法签名。

该段介绍出自这里

viewfinder使用GYP生成Xcode的工程文件,生成方式如下:

首先要安装GYP,执行以下步骤:

1
2
3
4
$ svn checkout http://gyp.googlecode.com/svn/trunk/ gyp-read-only 
$ cd gyp-read-only 
$ ./setup.py build 
$ sudo ./setup.py install 

安装成功以后,再进入到clone下来的viewfineder源码目录,执行:

1
2
$ cd viewfinder/clients/ios
$ gyp --depth=. -DOS=ios -Iglobals.gypi ViewfinderGyp.gyp

这样就能成功生成Xcode工程文件了,不过需要通过ViewfinderGyp.xcodeproj文件打开工程。

Hacker News的iPhone客户端

iOS资深开发者罗朝辉做的一款应用,《美式英语》的iPhone版本

使用新浪微博开放平台做的微博客户端,做工略显粗糙,作者也有几个月没更新了。

AppStore上线产品,中文名称已阅。一个iOS设备上的RSS/Atom阅读器,刚成立的项目,还有很多有待完善的地方。

Xcode插件

用于在Xcode中管理CocoaPods依赖库

方便实现代码对其功能,使代码风格统一

一个辅助代码编辑插件。支持高亮选中、批量选中方法和方法名、根据选中的方法批量生成方法声明、高亮正则搜索等功能。

一个神奇的Xcode 插件,能让应用在运行的时候做出的小的改变立马体现效果,而不需要重新编译。。。

以图形化界面管理Xcode插件的插件。

当输入[NSImage imageNamed: 或者[UIImage imageNamed:时,会自动补全工程中可用的图片名称,同时能提供选中图片的预览。

能以图形界面列表的形式列出代码中添加了TODO,FIXME,???,!!!!标识的项目,方便解决软件中备注的未解决问题。另外,能查找的还不只上述四种标识,用户可以自己添加想支持的标识。

快速查找工程中的文件、代码等资源,和Xcode5自带的Open Quickly功能相似。

提供了为代码增加注视的最快捷方式,是我使用频率最高的插件,猫神出品。

工具

能详细打印出一个某个方法被调用的堆栈,方便调试时定位问题

在上传AppStore时需要填写app的描述信息,此软件能很方便的填写这些信息。

facebook出的自动编译工具,不像xcodebuild,它能够整洁的打印出日志

用于生成兼容armv6/armv7/i386 framework的Xcode工程模版:

对访问iOS Keychain的封装库。

这是目前我已知的唯一一个支持对SQLite加密的免费开源库,对应的有收费版本。本开源库实现了对SQLite开源免费版本中未实现的加密接口,同时做了一定的扩展。使用的是256位AES加密方式。

强烈推荐!

AFNetworking作者、mattt大神开源的常用Xcode代码片段。

开发框架

facebook那神奇的动画引擎,你懂得。。。

pop

facebook出品,基于Cocoa的KVO开发,提供简单地使用方式,同时也是线程安全的。

通过method swizzling技术,能够在一个类的现有方法执行之前或之后附加一个代码片段(以block方式),能极大的方便我们调试。

十分强大的PDF开发框架,有异步加载、预览、编辑、加标注等很多功能

使用简单,功能强大的图表工具

TEAChart

一个联系人搜索库,支持的搜索方式包括:用户名汉字、拼音及模糊搜索,号码搜索,最重要的是支持T9搜索,做过通讯录类应用的同学都懂的。我在项目里用过,很赞。

应该是XMPP协议Objective-C实现的最好版本,小型开发者想做IM应用的好选择,使用起来也很方便。

一个通用聊天界面框架,效果不错,感谢作者的开源。这个框架后来被国内某无耻程序员修改成MessageDisplayKit,大有据为己有之势。

一个开发者积累多年的开发框架,值得看看。

几何图形框架,把AGGeometryKit和POP结合起来使用,可实现非常棒的动态和动画。

IMQuickSearch是一个快速搜索工具,可以过滤包含多种自定义NSObject类的NSArray。

新加坡开发者honcheng实现的图标制作框架,支持折线图、饼状图等。

自定义view

仿照UITableView机制自己实现的一个自定义tableview,带有详细的说明文档

很炫的带有表格的视图控制器切换效果,点击每个栏目会有限带有波浪效果的信息展示,类似于Facebook Paper

AMWaveTransition

又是facebook出的,可以让view展示波光粼粼的效果

Shimmer

仿照系统的UICollectionView的API实现的collection view,支持ARC和iOS4.3+系统,可用于替代只能从iOS6开始支持的UICollectionView

各种形式在状态栏展示信息,包括提示、进度等,展示格式和动画方式也有好几种。下图只是以静态方式展示其效果,更多详情请点击链接查看。

JDStatusBarNotification

一个球形3D标签,能够放大、缩小、拖动、点击、自动旋转。效果挺玄的,就是感觉有点卡,还有一定的优化空间。下图截了一个静态图片:

SphereView

iOS7风格的侧滑菜单,支持左右双向侧滑:

RESideMenu

一种在view的顶部弹出并会自动消失的通知类view,是toast的一种变形。目前开源中国的项目正在用该view。

大麦网iOS客户端工程师开源的一个HUD view,

自定义的下拉菜单

能够实现在多个图层上以不同速度滑动的自定义ScrollView,可用于做软件启动时的help界面:

自定义的日历,界面很简洁,月份切换时动画效果也不错。

功能较齐全的attributed lable,支持attributed string和图片、链接、控件的混排。

实现了相当炫的拉幕式的界面切换效果,其灵感来自CALayer的私有属性meshTransform以及和其对应的CAMeshTransform

新浪微博开发者仿照Twitter的iOS客户端中的效果实现的向下拉动滚动视图,视图顶端的图片会随着下拉而变大,并且带有模糊的效果。

模仿系统邮件应用实现的联系人选择界面。

一个扁平化的,能带声波效果的按钮。

新加坡开发者honcheng实现的折纸效果的界面切换,适合做电子书阅读类应用。

新加坡开发者honcheng多媒体显示view,支持html语法,应用非常广泛。

返回顶部