前言
-
本文旨在搜集github上优秀的开源项目
-
本文搜集的项目都是用于iOS开发
-
本文会持续更新…
完整客户端
- ioctocat
github的iOS客户端,目前开源代码是V1版本,V2版本在appstore上可以下载
- ChatSecure-iOS
使用XMPP协议的IM开源软件,很强大,在appstore上可以下载
- SegmentFault
SegmentFault的官方iOS客户端
- OSChina-iOS
开源中国社区oschina的官方iPhone客户端,appstore已上线。早期地址在github上,后来迁移到OSChina自己的代码托管平台.
- FFCalendar
实现了日历的基本功能,目前只支持iPad版本
- wh-app-ios
美国白宫(WhiteHouse)的官方app,听起来很高大上哈
- ruby-china-for-ios
Ruby China的官方app
- cheddar-ios
一款不错的日程管理软件,Appstore上能下载
- twitterfon
第三方twitter客户端,不过作者上传后至今5年了都没更新过。。。
- viewfinder
移动支付公司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,执行以下步骤:
安装成功以后,再进入到clone下来的viewfineder源码目录,执行:
这样就能成功生成Xcode工程文件了,不过需要通过ViewfinderGyp.xcodeproj
文件打开工程。
- HackerNews
Hacker News
的iPhone客户端
- AmericanEnglish
iOS资深开发者罗朝辉做的一款应用,《美式英语》的iPhone版本
- FormosaWeibo
使用新浪微博开放平台做的微博客户端,做工略显粗糙,作者也有几个月没更新了。
- RSSRead
AppStore上线产品,中文名称已阅
。一个iOS设备上的RSS/Atom阅读器,刚成立的项目,还有很多有待完善的地方。
Xcode插件
- cocoapods-xcode-plugin
用于在Xcode中管理CocoaPods依赖库
- XAlign
方便实现代码对其功能,使代码风格统一
- XcodeBoost
一个辅助代码编辑插件。支持高亮选中、批量选中方法和方法名、根据选中的方法批量生成方法声明、高亮正则搜索等功能。
- Injection for Xcode
一个神奇的Xcode 插件,能让应用在运行的时候做出的小的改变立马体现效果,而不需要重新编译。。。
- Alcatraz
以图形化界面管理Xcode插件的插件。
- KSImageNamed-Xcode
当输入[NSImage imageNamed:
或者[UIImage imageNamed:
时,会自动补全工程中可用的图片名称,同时能提供选中图片的预览。
- XToDo
能以图形界面列表的形式列出代码中添加了TODO
,FIXME
,???
,!!!!
标识的项目,方便解决软件中备注的未解决问题。另外,能查找的还不只上述四种标识,用户可以自己添加想支持的标识。
- CodePilot
快速查找工程中的文件、代码等资源,和Xcode5自带的Open Quickly
功能相似。
- VVDocumenter-Xcode
提供了为代码增加注视的最快捷方式,是我使用频率最高的插件,猫神出品。
工具
- Xtrace
能详细打印出一个某个方法被调用的堆栈,方便调试时定位问题
- RMConnecter
在上传AppStore时需要填写app的描述信息,此软件能很方便的填写这些信息。
- xctool
facebook出的自动编译工具,不像xcodebuild,它能够整洁的打印出日志
- iOS-Universal-Framework
用于生成兼容armv6/armv7/i386 framework
的Xcode工程模版:
- UYLPasswordManager
对访问iOS Keychain的封装库。
- sqlcipher
这是目前我已知的唯一一个支持对SQLite加密的免费开源库,对应的有收费版本。本开源库实现了对SQLite开源免费版本中未实现的加密接口,同时做了一定的扩展。使用的是256位AES加密方式。
强烈推荐!
- Xcode-Snippets
AFNetworking
作者、mattt大神开源的常用Xcode代码片段。
开发框架
- pop
facebook那神奇的动画引擎,你懂得。。。
- KVOController
facebook出品,基于Cocoa的KVO开发,提供简单地使用方式,同时也是线程安全的。
- Aspects
通过method swizzling技术,能够在一个类的现有方法执行之前或之后附加一个代码片段(以block方式),能极大的方便我们调试。
- PSPDFKit
十分强大的PDF开发框架,有异步加载、预览、编辑、加标注等很多功能
- TEAChart
使用简单,功能强大的图表工具
- SearchCoreTest
一个联系人搜索库,支持的搜索方式包括:用户名汉字、拼音及模糊搜索,号码搜索,最重要的是支持T9搜索,做过通讯录类应用的同学都懂的。我在项目里用过,很赞。
- XMPPFramework
应该是XMPP协议Objective-C实现的最好版本,小型开发者想做IM应用的好选择,使用起来也很方便。
- JSQMessagesViewController
一个通用聊天界面框架,效果不错,感谢作者的开源。这个框架后来被国内某无耻程序员修改成MessageDisplayKit,大有据为己有之势。
- vTeam
一个开发者积累多年的开发框架,值得看看。
- AGGeometryKit
几何图形框架,把AGGeometryKit和POP结合起来使用,可实现非常棒的动态和动画。
- IMQuickSearch
IMQuickSearch是一个快速搜索工具,可以过滤包含多种自定义NSObject类的NSArray。
- iOSPlot
新加坡开发者honcheng
实现的图标制作框架,支持折线图、饼状图等。
自定义view
- DZTableView
仿照UITableView机制自己实现的一个自定义tableview,带有详细的说明文档
- AMWaveTransition
很炫的带有表格的视图控制器切换效果,点击每个栏目会有限带有波浪效果的信息展示,类似于Facebook Paper
- Shimmer
又是facebook出的,可以让view展示波光粼粼的效果
- PSTCollectionView
仿照系统的UICollectionView的API实现的collection view,支持ARC和iOS4.3+系统,可用于替代只能从iOS6开始支持的UICollectionView
- JDStatusBarNotification
各种形式在状态栏展示信息,包括提示、进度等,展示格式和动画方式也有好几种。下图只是以静态方式展示其效果,更多详情请点击链接查看。
- SphereView
一个球形3D标签,能够放大、缩小、拖动、点击、自动旋转。效果挺玄的,就是感觉有点卡,还有一定的优化空间。下图截了一个静态图片:
- RESideMenu
iOS7风格的侧滑菜单,支持左右双向侧滑:
- GCDiscreetNotificationView
一种在view的顶部弹出并会自动消失的通知类view,是toast的一种变形。目前开源中国的项目正在用该view。
- CLProgressHUD
大麦网iOS客户端工程师开源的一个HUD view,
- REMenu
自定义的下拉菜单
- SWParallaxScrollView
能够实现在多个图层上以不同速度滑动的自定义ScrollView,可用于做软件启动时的help界面:
- Vurig-Calendar
自定义的日历,界面很简洁,月份切换时动画效果也不错。
- M80AttributedLabel
功能较齐全的attributed lable,支持attributed string和图片、链接、控件的混排。
- BCMeshTransformView
实现了相当炫的拉幕式的界面切换效果,其灵感来自CALayer的私有属性meshTransform
以及和其对应的CAMeshTransform
。
- TwitterCover
新浪微博开发者仿照Twitter的iOS客户端中的效果实现的向下拉动滚动视图,视图顶端的图片会随着下拉而变大,并且带有模糊的效果。
- THContactPicker
模仿系统邮件应用实现的联系人选择界面。
- DKCircleButton
一个扁平化的,能带声波效果的按钮。
- PaperFold-for-iOS
新加坡开发者honcheng
实现的折纸效果的界面切换,适合做电子书阅读类应用。
- RTLabel
新加坡开发者honcheng
多媒体显示view,支持html语法,应用非常广泛。