github优秀开源项目大全-iOS

APR 25TH, 2014

前言

  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那神奇的动画引擎,你懂得。。。

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

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

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

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

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

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

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

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

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

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

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

自定义view

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

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

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

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

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

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

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

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

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

自定义的下拉菜单

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

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

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

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

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

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

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

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

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

github优秀开源项目大全-iOS的更多相关文章

  1. IOS-github优秀开源项目大全

    github优秀开源项目大全-iOS 前言 本文旨在搜集github上优秀的开源项目 本文搜集的项目都是用于iOS开发 本文会持续更新… 完整客户端 ioctocat github的iOS客户端,目前 ...

  2. Github优秀开源项目

    王潜升 https://github.com/code4craft/webmagic 一个爬虫框架,除了不会反爬虫外(当然可以自己加)其他都很牛逼.这个项目更新还是很快的.   ansi分词  htt ...

  3. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目

    Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...

  4. GitHub上最著名的Android播放器开源项目大全

    GitHub上最著名的Android播放器开源项目大全                                                                          ...

  5. 如何在github下载开源项目到本地(Coding iOS 客户端为例)

    一.前言 以 Coding iOS 客户端 为例讲解如何在github下载开源项目到本地 github地址:https://github.com/Coding/Coding-iOS 二.分析 根据项目 ...

  6. Android优秀开源项目

    本文转自:http://blog.tisa7.com/android_open_source_projects Android优秀开源项目 Android经典的开源项目其实非常多,但是国内的博客总是拿 ...

  7. TypeScript 优秀开源项目大合集

    TypeScript出来有段时间了,也冒出了很多用TypeScript开发的优秀开源项目,搜寻了一些基于TypeScript项目,分享给大家: https://github.com/brookshi/ ...

  8. Python优秀开源项目Rich源码解析

    这篇文章对优秀的开源项目Rich的源码进行解析,OMG,盘他.为什么建议阅读源码,有两个原因,第一,单纯学语言很难在实践中灵活应用,通过阅读源码可以看到每个知识点的运用场景,印象会更深,以后写代码的时 ...

  9. DolphinScheduler 荣获 2021 中国开源云联盟优秀开源项目奖!

    点击上方 蓝字关注我们 好消息,中国开源云联盟(China Open Source Cloud League,简称"COSCL")于近日公布 2021 杰出开源贡献者.优秀开源项目 ...

随机推荐

  1. Ten Tips for Writing CS Papers, Part 1

    Ten Tips for Writing CS Papers, Part 1 As a non-native English speaker I can relate to the challenge ...

  2. Why The Golden Age Of Machine Learning is Just Beginning

    Why The Golden Age Of Machine Learning is Just Beginning Even though the buzz around neural networks ...

  3. hdu 1284 钱币兑换问题(动态规划)

    Ac code : 完全背包: #include<stdio.h> #include<string.h> int dp[4][40000]; int main(void) { ...

  4. 一种透明效果的view

    设置这个view背景色: [UIColor colorWithRed: green: blue: alpha:0.3]; 效果如下:

  5. Ubuntu格式化分区时的一个小错误

    admin@gpc:/$ sudo  mkfs -t ext3 -c /dev/sdb1 mkfs.ext3: inode_size (128) * inodes_count (0) too big ...

  6. Linux 解压命令tar的理解

    今天回顾了下tar 这个打包工具的一些常用参数 选项与参数: -c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename) -t :察看打包文件的内容含有哪些档名,重点在察看『档名 ...

  7. 繁华模拟赛 ljw搭积木

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  8. thinkphp中page方法

    page方法也是模型的连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法. 用法 我们在前面已经了解了关于limit方法用于分页查询的情况,而page方法则是更人性化的进行分页查询的方法,例 ...

  9. LR测试心得

    ====================测试方案—优化前—优化后 每一项至少两份报告==================================== url录制方式录制出来的脚本mode是HT ...

  10. ASP.NET中树型DropDownList的绑定

    首先设计好数据库,假设数据库有三个字段Id,ParentId,Name.ParentId是树性结构必须的,就是节点的父节点id,假设跟节点id都是0.下面就可以绑定了! 思路应该很简单,就是先绑定根节 ...