海量 iOS 及 Mac 开源项目和学习资料

14,709 阅读36分钟
原文链接: github.com

README.md

TimLiu-iOS

自己总结的iOS、mac开源项目及库。 github排名 github.com/trending,github搜索:github.com/search

目录

具体内容 =============================

UI

下拉刷新
模糊效果
AutoLayout
富文本
图表
  • PNChart - 国内开源作者,动态的图表。
  • swift-linechart - 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件--swift。
  • ios-charts - 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Objective-C。
  • TEAChart - xhacker/TEAChart 一个简洁的 iOS 图表库,支持柱状图、饼图以及日历等。
  • YOChartImageKit - 支持在watchOS上绘制图表,看它最近更新挺勤快的,可以关注一下。
  • RealtimeGradientText - Fun With CALayer Mask 刚好今天开源了一个有趣的项目 RealtimeGradientText,所以也好聊一下 CALayer 的 Mask,说明
表相关
  • SWTableViewCell - 国内开源作者,带很多手势的表单元格。
  • MCSwipeTableViewCell - 带很多手势的表单元格。
  • TMQuiltView - 瀑布流。
  • WaterfallFlowDemo - 一个简单的UICollectionView瀑布流布局演示demo。
  • XLForm - 很多表格类的table,写法更高冷一点,推荐使用。
  • RETableViewManager - 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现。
  • UIScrollSlidingPages - 允许添加多视图控件,并且可以横向滚动。有点类似于Groupon app。
  • HBHorizontalTableView - swift,TableView 横向滚动小示例(仿照 AppStore 应用展示)。
  • HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。
  • SYJiugonggeTableView - tableView封装的九宫格。
  • UUChatTableView - UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明
  • Chats - 聊天 UI 示例程序。此项目应该只为演示或学习之用,没有服务器 -- swift。
  • Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本的环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂的东西直接都帮封好了。不得不说现在做app开发真是很简单,大部分时间搭积木就可以了。官方网站
  • DLSlideView - DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,源码推荐说明
  • VOVCManager - 页面管理器:1.跳转指定页面,只需要知道viewController的Class名,如果有storyboard,则需要指定storyboard名;2.无需添加基类;3.支持URLScheme跳转指定页面。
  • MBXPageViewController - 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。
  • PagerTab - UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果。
  • GUITabPagerViewController - 多个tab滑动切换。
  • VOMetroLayoutDemo - Metro风格的UICollectionView, 目前只支持横向布局,仅在iPad上应用。
  • KYCellAnimation - 给UITableViewCell增加进入的动画。
  • COBezierTableView - swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞。
  • RDVTabBarController - 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。
  • 横向展示文本内容的自定义cell - 可以横向展示文本内容的自定义cell,根据文本无限滚动。
  • UITableView-FDTemplateLayoutCell - UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 的高度的框架。
  • ExpandingStackCells - 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。
  • Sapporo - swift 单元格模型驱动的集合视图管理器组件。又一个超实用的“轮子”。
  • MDIHorizontalSectionTableViewController - 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽,后续安卓版本也会开源出来。
  • JZNavigationExtension - 多功能导航控制器,可以透明返回栏。
  • QuickRearrangeTableView - 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。
  • uicollectionview-reordering - UICollectionViews的拖拽(拖动、移动)效果,实例教程.
  • DZNEmptyDataSet - DZNEmptyDataSet算是一个很标准的iOS内建方式,适合用来处理空的table view和collection view。会自动将collection view处理完善,并将用户消息以合适美观的方式显示出来。每个iOS项目都可以自动处理。
  • MGSwipeTableCell - 另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。
隐藏与显示
HUD与Toast
  • MBProgressHUD - 最多人用的loading。
  • SVProgressHUD - SVProgressHUD的loading,如果你需要定制化的等待提示器,这个就是了(也许是最好的)。
  • ProgressHUD - ProgressHUD的loading,使用最简单。
  • MMProgressHUD - 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码。慢慢看视频吧,囊括了所有效果。
  • WSProgressHUD - 一个小巧精致的HUD,支持添加到自定义View上, 还有更多小细节.。
对话框
其他UI
  • AwesomeMenu - 最多人用的Path菜单。
  • DCPathButton - Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动。
  • SphereMenu - 利用UIDynamicAnimator的有趣的菜单,path类似。
  • KYGooeyMenu - KYGooeyMenu 是一个具有 Gooey Effects 带粘性的扇形菜单控件(卫星菜单、path)。
  • TwitterPaggingViewer - 多个Tableview,左右滑动。
  • CircularProgressControl - Circular Progress Control using CAShapeLayer ,环形进度控制条。
  • KDCircularProgress - KDCircularProgress是使用swift制作的色彩炫丽的进度条,可以加入多种颜色来控制进度条的渐变效果。
  • TextProgress - 自定义实现数字进度条:1、可以自定义数字(0-100),填充的比例为当前设置的数字,2、可以实现自定义填充颜色,上下部分都可以,3、可以自定义边界的颜色4、实现了水波动画,可以设置打开或关闭。
  • XLPagerTabStrip - 做的很棒的iOS下的PagerTabStrip。
  • RandomColorSwift - 一个自动生成好看的颜色的 Swift 库,RandomColorSwift。
  • HexColorService - 将16进制颜色字符串转成UIColor。
  • Rainbow - 旨在提高代码可读性及易用性的 UIColor 扩展,它使原先有限的预定义颜色(方法)选择,扩展至超过 1200 种。
  • UIColor-ChineseTraditionalColors - 中国传统颜色引用 UIColor 扩展。“UIColor.桃红(),UIColor.竹青() ...”,共158种。
  • 类似美团的下拉菜单 - 类似美团的下拉菜单,源码推荐说明
  • 类似美团的下拉选项 - 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵。
  • CRMediaPickerController - 一个简单易用的图片/视频选择器。1.可同时选择照片和视频。 2.挑选范围有Camera、Camera Roll、Photo Library以及最近拍摄的照片和视频。3.可自定义UIImagePickerController属性(Camera Overlay、Camera Device、Camera View Transform以及allowsEditing)。4.支持横屏和竖屏5.原生的iOS UI。,源码推荐说明
  • MDCSwipeToChoose - MDCSwipeToChoose可简单地添加滑动手势来调用UIView,并使用该行为提供了一个组件以创建类似Tinder app的like或者dislike界面的轻扫。基于轻扫的方向,你可以决定执行什么样的行为,并且你可以自定义文本颜色和图片。该项目适用于教学用的抽认卡、图片查看器以及其他等。
  • iOS Material Design库 - 该项目借鉴于谷歌的Material Design guideline,用户可自定义背景色。
  • ZMaterialDesignUIButton - Swift Material Design UIButton。
  • MediumScrollFullScreen - Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等。
  • SDProgressView - 简便美观的进度指示器,此系列共有六种样式的进度指示器。
  • WZFlashButton - WZFlashButton,点击后button里面出现水波扩散效果。
  • Twinkle - 为字体加上钻石版闪耀的效果。使用Swift编写。
  • ios-multi-back-button - 可替换内置的UInavigationController返回按钮,长按左上角的返回按钮,实现多层级的快速返回。
  • ASDayPicker - 适用于iOS (iPhone)的日期选择器,类似于Calendar app的周视图。
  • today extension - 用纯代码构建一个Widget(today extension) 。
  • FSCalendar - 日历视图,带有微妙和平滑的滚动效果,可自定义外观--国人。
  • HSDatePickerViewController - 带有Dropbox Mailbox感觉的时间日期选择器。启动是背景被模糊化。界面也是主流的扁平化风格。
  • CFCityPickerVC - 城市选取控制器。
  • JTCalendar - iOS下优美的 Calendar 组件,做 GTD 类 App 必备。
  • Persei - 动画隐藏或显示顶部菜单支持库及示例项目。--swift
  • PDTSimpleCalendar - 是iOS最棒的日历组件了。你可以在各个方面对它进行定制,无论是运行逻辑还是外观方面。
  • Form - JSON 驱动的 Form表单系统,复杂的表单填写类 App 极其需要(比如淘宝呢!)。
  • SwiftyFORM - swift 表单输入框架(亮点是表单验证规则引擎),是我见过地最易用的 Swift 表单组件。
  • SwiftSpinner - SwiftSpinner是使用swift制作的一款精致带感的指示器,并且连带有字体信息显示,模糊背景,半透明,扁平化等IOS8的效果。
  • AKPickerView-Swift - 一款小而美的 3D 效果选择器。
  • ImagePickerSheet - 图片或视频选择器(可多选)组件及其示例项目。
  • iOS-RatingBar - iOS-RatingBar swift版的评分控件,跟Android的RatingBar一样有两种模式,评分模式和只读模式'支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星,0.5颗星,0.1颗星,可以开启动画效果。
  • RKNotificationHub - 快速给 UIView 添加上炫酷的通知图标(Badge、红点、提示)。
  • WZLBadge - Badge,支持横竖屏支持iOS5~iOS8允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等。说明.
  • BubbleTransition - 以气泡膨胀和缩小的动画效果来显示和移除 controller,Uber的就是这种取消操作的方式。
  • KYFloatingBubble - 类似iOS7中Game Center浮动气泡的效果。
  • DKNightVersion - DKNightVersion 是一个支持夜间模式切换的框架。
  • EasyUIControl - 一个可以简化界面ui的控件框架。
  • LxGridView-oc LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。
  • QQBtn - 仿QQ未读消息弹性按钮动画,达到和手机QQ未读信息一样的动画效果,效果基本实现。
  • GMStepper - swift 带动画效果、支持手势滑动操作的步进标签。
  • TZStackView - OS 9 UIStackView 功能模拟实现于 iOS 7/ iOS 8 内。
  • LayoutTrait - swift 一个小类库。 做iPad 多任务分屏 适配的同学可以看一下。
  • HACursor - HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。
  • ZTPageController - 模仿网易新闻和其他新闻样式做的一个菜单栏,栏中有各自的控制器,其中有4中展示样式’网易style' ’搜狐style' ’腾讯style1' ’网易style2' 。
  • Ruler - 尺子。
  • HUMSlider - HUMSlider是一款能够自动显示刻度记号的滑竿,滑动到某处,该处的刻度会自动上升,两边还能配置图像。支持代码或storyboard中实现。
  • JDSelectedDemo - 仿京东筛选菜单实现。
  • BTNavigationDropdownMenu - 下拉列表暨导航标题组件。简单、直接、易用 -swift。

动画

侧滑与右滑返回手势
gif动画
其他动画
  • popping - popping是一个POP 使用实例工程
  • SinaMenuView - 用POP动画引擎写的Sina微博的Menu菜单。
  • MMTweenAnimation - facebook POP的自定义动画扩展(基于POPCustomAnimation) 提供10种函数式动画。
  • ZQLRotateMenu - 这是一个旋转视图的选择器。
  • CoolLoadAniamtion - 一个简单但是效果不错的loading动画。
  • SequenRotateAnimation - 一个简单的loading次序动画。
  • SYAppStart - App启动插画的自定义过度。
  • VJDeviceSpecificMedia - 如何根据设备选择不同尺寸的图片 可以通过设置不同尺寸设备的LaunchImage,来使得App适配这些设备,要是在不同不同尺寸设备上使用不同大小的图片,则需要在代码中一一判断,然后加载。
  • RMParallax - RMParallax是一个app启动页引导开源项目,除了细微的翻页视差效果,描述文本的过渡也非常美观(版本新特性)。
  • ADo_GuideView - 转动的用户引导页(模仿网易bobo) 因为没有从app包里抓到@3x的图片,建议在iPhone5模拟器运行,保证效果~ (版本新特性)。
    • CoreNewFeatureVC - 版本新特性(引导页),1.封装并简化了版本新特性启动视图!2.添加了版本的本地缓存功能,3.集成简单,使用方便,没有耦合度,4.支持block回调。
  • Spring - Spring是一个Swift编写的开源库,可简化Swift编写的iOS动画。支持shake、pop、morph、squeeze、wobble、swing、flipX、flipY、fall、squeezeLeft、squeezeRight以及squeezeDown等多种动画形式,用 IBDesignable 让使用者可以在 Xcode 中快速设置动画效果。
  • KYBezierBounceView - 手势控制贝塞尔曲线,取消手势贝塞尔曲线会有反弹效果。
  • cadisplaylinkanduibezierpath - CADisplayLink结合UIBezierPath的神奇妙用。
  • KYCuteView - 实现类似QQ消息拖拽消失的交互+GameCenter的浮动小球效果,分析
  • KYWaterWaveView - 一个内置波浪动画的UIView,里面有鱼跳跃水溅起来的效果。
  • KYPingTransition - 实现圆圈放大放小的转场动画,可以根据自己的需要使用Paper中的弹性效果,有Material风格。
  • KYNewtonCradleAnimiation - 牛顿摆动画。
  • LayerPlayer - 一款全面展示核心动画 API 示例项目(上架应用)。包括 CALayer, CAScrollLayer, CATextLayer, AVPlayerLayer, CAGradientLayer, CAReplicatorLayer, CATiledLayer, CAShapeLayer, CAEAGLLayer, CATransformLayer, CAEmitterLayer 等使用的互动演示。
  • JGTransitionCollectionView - swift,基于集合视图扩展实现完成自动布局及单元项 Flip式动画效果(效果很赞)。组件使用方便、自然(只需设置集合视图数据源的标准方式即可)。
  • KYShareMenu - 带弹性动画的分享菜单。
  • Context-Menu.iOS - 可以为app的菜单添加漂亮的动画内容,可自定义icon,并可根据自己的喜好设计单元格和布局。
  • DeformationButton - 一个简单的变换形状动画按钮。
  • UnReadBubbleView - UnReadBubbleView是一个能够拖拽并拉长的气泡视图。拖拽到一定的长度会消失,可以通过系数设置来控制拖拽的长度。气泡也支持多种属性设置。
  • PPDragDropBadgeView - 实现了类似于QQ 5.0 水滴拖拽效果. 支持iOS 5.0+ ARC,气泡能够带有数字标识,同时支持消失block方法。消失时还带有消失效果动画。
  • GiftCard-Implementation - 购买的炫酷动画。
  • iCarousel - iCarousel是一个类,它继承于UIView。用于简化实现各种类型的旋转木马(分页滚动视图)。
  • HotGirls - 卡片动画。
  • tispr-card-stack - swift 卡片风格动画切换组件及完整交互示例。
  • ZLSwipeableViewSwift - swift 卡片堆叠效果的实现(ZLSwipeableView)】可实现类似Tinder和Potluck应用程序的卡片堆叠效果,该项目基于ZLSwipeableView objective-c实现。1.自定义动画。2.自定义滑动切换。3.自定义方向。4.撤销。
  • Koloda - 基于卡片的 Tinder-style 动画效果示例。精细绝人。更赞的是额外附了详细开发教程 How We Built Tinder-Like Koloda Animation in Swift 网页链接 。Yalantis 出品动画程序款款精品。
  • QQPersonalInfoTransition - 仿照QQ的转场。
  • KYAnimatedPageControl - 除了滚动视图时PageControl会以动画的形式一起移动,点击目标页还可快速定位。支持两种样式:粘性小球和旋转方块。
  • KDIntroView - swift 动态介绍视图框架及演示。另外两个相似的类库是 RazzleDazzle和 Presentation,择需使用。
  • RazzleDazzle - 【IFTTT开源Swift编写的帧动画框架--RazzleDazzle】RazzleDazzle 是IFTTT开源的一个iOS帧动画框架,非常适用于APP初次使用时的介绍和引导信息。JazzHands是UIKit一个简单的关键帧基础动画框架,可通过手势、scrollview、KVO等控制动画,被IFTTT应用在IFTTT for iPhone上。
  • Presentation - 一个类似RazzleDazzle的框架。
  • FillableLoaders - 基于 CGPaths 可定制个性化填空式装载类库。附水波上涨式示例。
  • SXWaveAnimate - 实现非常美观的灌水动画。
  • LSPaomaView - 可循环滚动的较长文字,跑马灯,效果很好,一句话集成。

网络相关

网络连接
  • AFNetworking - ASI不升级以后,最多人用的网络连接开源库,iOS网络编程之AFNetworking使用,iOS开发下载文件速度计算
  • Alamofire - Alamofire是AFNetworking的作者mattt新写的网络请求的swift库。
  • YTKNetwork - 是基于 AFNetworking 封装的 iOS网络库,提供了更高层次的网络访问抽象。相比AFNetworking,YTKNetwork提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。
  • LxFTPRequest - 支持获取FTP服务器资源列表,下载/上传文件,创建/销毁ftp服务器文件/目录,以及下载断点续传,下载/上传进度,自动判断地址格式合法性跟踪等功能!国人开发,QQ:349124555。
  • WTRequestCenter - 方便缓存的请求库,提供了方便的HTTP请求方法,传入请求url和参数,返回成功和失败的回调。 UIKit扩展提供了许多不错的方法,快速缓存图片,图片查看,缩放功能, 颜色创建,设备UUID,网页缓存,数据缓存等功能。 无需任何import和配置,目前实现了基础需求。
  • MMWormhole - Message passing between iOS apps and extensions 2个iOS设备之间通信。
  • socket.io-client-swift - WebSockect 客户端类库。开放的通讯协议,有利于构建强大地跨平台应用。
  • Transporter - swift, 短小、精悍、易用的多文件(并发或顺序)上传和下载传输库。还支持后台运行、传输进程跟踪、暂停/续传/取消/重试控制等功能。
  • STNetTaskQueue - STNetTaskQueue Objective-C 可扩展网络请求管理库。
  • CocoaAsyncSocket - 在iOS开发中使用socket,一般都是用第三方库AsyncSocket,不得不承认这个库确实很强大,使用教程
  • GCDAsyncSocket - GCDAsyncSocket , 不错的Demo
  • Just - 小而美的 HTTP 类。功能简单、直接、完整且健壮性高-- swift。
  • Future - 基于微框架设计思想的异步执行及结果响应类,代码即简单又干净-- swift。
  • MZDownloadManager - 下载管理。
  • DVR - 针对网络请求的测试框架,超实用的工具。且支持 iOS, OSX, watchOS 全平台。
图像获取
网络聊天
网络测试
WebView
  • MGTemplateEngine - MGTemplateEngine比较象 PHP 中的 Smarty、FreeMarker 和 Django的模版引擎,是一个轻量级的引擎,简单好用。只要设置很多不同的HMTL模版,就能轻松的实现一个View多种内容格式的显示,对于不熟悉HTML或者减轻 工作量而言,把这些工作让设计分担一下还是很好的,也比较容易实现设计想要的效果。
  • NJKWebViewProgress - 一个 UIWebView 的进度条接口库,UIWebView 本身是不提供进度条的。
  • GTMNSString-HTML - 谷歌开源的用于过滤HTML标签。

Model

  • JSONKit - JSONKit库是非常简单易用而且效率又比较高的,重要的JSONKit适用于ios 5.0以下的版本,使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中;然后加入libz.dylib即可。
  • JSONModel - 解析服务器返回的Json数据的库,JSONModel源码解析一
  • Mantle - Mantle主要用来将JSON数据模型化为OC对象, 大系统中使用。为什么选择Mantle
  • RFJModel - RFJModel是一个IOS类库,可以将JSON字典自动装填到OBJC对象。相比JSONModel有一些非常好的特性,使用上也比较简单。
  • XMLDictionary - ios与mac os平台下xml与NSDictionary相互转化开源类库。
  • MJExtension - 用于json转model进行使用,转换效率很高,使用也比较简单,只要前后台约定好,json直接就转成了model。
  • CFRuntime - “Swift 版的 MJExtension,运行时、反射与一键字典模型互转”。
  • DDModel - 快速搭建项目Model层,支持ORM映射关系,能从JSON/XML直接实例一个Model对象。支持SQLite本地数据持久化,封装了HTTP, 减少HTTP代码与UIViewController的代码耦合,支持Cache;类似RESTKit、Mantle的功能;使用该类库以后简化了网络层的开发工作,把更多的精力放在UI上面;目前只支持GET/POST方法的请求。使用到的第三方库有:1.SQLitePersistentObject; 2.JTObjectMapping; 3.AFNetworking; 4.XMLDictionary;
  • protobuf-swift - Protocol Buffers 的 Swift 语言实现库。P.S. Protocol Buffers 是 Google 开源项目,主要功能是实现直接序列化结构化的对象数据,方便跨平台快速传递,开发者也可以直接修改 protobuf 中的数据。相比 XML 和 JSON,protobuf 解析更快,存储更小。
  • JSONCodable - 基于 Swift 2.0 新特性(Protocol Extensions and Error Handling)的JSON 解析类。
  • SwiftyJSON - 使Swift的JSON解析变得简单。

其他

  • DateTimeKit - 一个超赞的时间处理的库,Joda-Time ! 他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。
  • SwiftDate - 特别完整、强大的日期时间操作管理类库。它几乎涵盖了已知开源日期类库所有优秀特性。 他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。
  • iOS私有API - 私有API,绿色 == public,红色 == private,蓝色 == dylib。
  • iOS源代码 - iOS源代码。
  • libfacedetection - C++ 人脸识别 包含正面和多视角人脸检测两个算法.优点:速度快(OpenCV haar+adaboost的2-3倍), 准确度高 (FDDB非公开类评测排名第二),能估计人脸角度。
  • Slidden - 一个老外开源的开发自定义键盘的库,利用这个开源库,可以方便的配置键位、颜色以及键位对应的图片。
  • TPKeyboardAvoiding - 用户键盘弹出自动计算高度,进行屏幕滚动操作。
  • CDPMonitorKeyboard - CDPMonitorKeyboard封装,可以解决输入视图(例如textField,textView等)被键盘覆盖问题,并可设置高于键盘多少。
  • 自动监听键盘高度 - 自动监听键盘高度,初始界面,输入框在屏幕最下方,当键盘出现时,输入框随即移动到键盘上方。
  • SYKeyboardTextField - SYKeyboardTextField 是一个轻巧,简单,非侵入式的键盘附随输入框! 采用Swift编写。
  • BlocksKit - block框架,为 OC 常用类提供了强大的 Block 语法支持,使得编写 OC 代码变得舒适、快速、优雅。
  • KVOController - 在项目中有使用 KVO ,那么 KVOController 绝对是个好选择。它是 facebook 开源的一个 KVO 增强框架。
  • appirater - 用于提醒用户给你的 APP 打分的工具。
  • MotionKitr - 为核心运动框架(The Core Motion framework)提供友好的类库封装,以更方便使用三轴陀螺仪和加速感应器特性。
  • Review Monitor - 第一时间自动推送 Apple Store 的用户评论到你的邮件箱或者 Slack,第一时间跟进用户反馈,打造优秀 App 必备工具!类似的有:App annie 的类似功能。
  • WBWebViewConsole - 类似微博iPhone客户端的 “调试选项” 吗?把其中的 “内置浏览器网页调试” 开源在 Github 上了。
  • ios-good-practices - ios-good-practices iOS 开发最佳实践。
  • iOS开发最佳实践 - iOS 开发最佳实践 -- 中文。
  • TodayExtensionSharingDefaults - TodayExtensionSharingDefaults是一个iOS 8 Today扩展示例,可以使用NSUserDefaults与其containing app分享数据。
  • QRCodeReader.swift - QRCodeReader.swift一款简单的 QR 二维码阅读组件及示例,提供前后相机切换功能。
  • QRCatcher - 一个简洁美观的二维码扫描应用, iOS学习:AVFoundation 视频流处理--二维码扫描
  • Parsimmon - swift,小而美的语言学类库封装工具包。提供分词、标记词性、词形归并、朴素贝页斯分类、决策树等自然语言分析小工具。P.S. 英语分词效果好于中文,感兴趣的同学可以针对中文做一些优化开发。参考译文 NSHipster - NSLinguistic​Tagger
  • Password-keyboard - 随机变换数字位置的密码键盘。 模仿银行类应用在付款时输入的随机密码键盘。
  • MKMapView-Extension - 这是关于 MKMapView 写的一个基于swift的扩展,可以扩展 MKMapView 的相关功能,减少复用代码量。
  • SemverKit - 针对符合『语义化版本规范 2.0.0』版本号的解析、比较运算类库。不仅支持 Major, Minor, Patch,还支持 Alpha 和 Beta 预发布版本,以及相应地递增运算扩展。
  • SwiftValidator - 基于规则的输入验证类库。项目良好的面向对象设计思想,使规则的扩展及自定义非常方便。更专业的规则引擎(甚至是基于自然语言的规则配置)解决方案,比如:开源的 Drools,商用的 ILOG 等。
  • Tesseract-OCR-iOS - 有关OCR文字识别项目。
  • Screenotate - 支持 OCR 文字识别的载屏笔记 Mac 完整应用。
  • iOS-Categories - 收集了许多有助于开发的iOS扩展,各种category。
  • Olla4iOS - 过去积累的一些方便复用的类和方法,还在整理中。
  • DKNightVersion - 用最快的方式给你的应用加上夜间和白天的切换效果。
  • TouchVisualizer - 实用的多点触摸可视化组件。扩展并作用于 UIWindows,结构上提供了简单地针对触摸显示定制,比如触摸点的颜色。
  • RegexKitLite - 用来处理正则表达式。
  • XcodeServerSDK - 非官方 Xcode Server SDK 封装库。 P.S. 该 SDK 分离自之前推荐的由该作者开发的自动测试框架 Buildasaur
  • BFKit-Swift - BFKit-Swift 这套工具库可以提高应用开发效率。
  • CKSIncrementalStore - 基于 CloudKit 服务器实现多终端数据同步。
  • SwiftSequence - 简洁、灵活、多变的操作 SequenceType 的类库(基于微框架(μframework)设计思想)。
  • IDNFeedParser - 一个简单易用的Rss解析库。
  • CoreUmeng - 简单:友盟分享封装。
  • openshare - 不用官方SDK,利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付。
  • Swifternalization - 一套实用的本地化工具库。使用教程及 API 文档完整。值得收入项目的“轮子”。
  • apous - 一款有趣的 Swift 应用 - 让 Swift 成为脚本语言。
  • Mirror - 通过反射(Refection)实现镜像对象封装库。从而可以更轻松获取(或输出)对象属性名、类型及值变量。
  • Proposer - Proposer 用单个 API 处理 iOS 上的权限请求,以便使用前确认可访问“相册”、“相机”、“麦克风”、“通讯录”或“用户位置”。
  • PermissionScope - 用这个库可以在询问用户前,就告知用户所需的系统权限,为用户带来更好的体验。接受度更高—>更多活跃用户->更高的留存率->数据更好->下载率更高。
  • LocationManager - CoreLocation使用起来还是比较麻烦的,需要授权,判断系统版本等等,所以推荐使用第三方框架LocationManager,使用Block,十分简单!iOS-CoreLocation:无论你在哪里,我都要找到你!
  • pangu.objective-c - 有多种语言实现版本~ Pangu.Objective-C:格式化中英文之间的空格(OC)。
  • objection - 一个轻量级的依赖注入框架Objection。
  • ControlOrientation - 如何用代码控制以不同屏幕方向打开新页面【iOS】, 使用说明
  • iRate - 问卷调查。
  • GameCenterManager - 在iOS上管理GameCenter vanilla并不算难,但是有了这个库会更简单也更快。好上加好不是更好么。
  • SlackTextViewController - 用作极佳、定制的文本输入控制时,自适应文本区域,手势识别、自动填充、多媒体合并,快速drop-in解决方案。
  • IAPHelper - 应用内付费给我们提供了很多样本代码,而这个库丢掉了那些代码,将金钱交易相关的大多通用任务做了简单的封装。
  • TAPromotee - 交叉推广应用是你可以免费实现的最佳市场推广策略之一。使用这个库做起来非常简单,不用都不可能——将TAPromotee加入你的podfile中,免费配置与享受更多下载吧。
  • DownloadFontOnline - 实现了在线下载一些字体的功能,不用在工程中导入字体库,下载的字体也不会保存在你的应用中,所以可以放心使用。修复了一下崩溃的bug。
  • STClock - 仿锤子时钟。

数据库

缓存处理

  • YTKKeyValueStore - Key-Value存储工具类,说明
  • TMCache - TMCache 是 Tumblr 开源的一个基于 key/value 的数据缓存类库,可以用于缓存一些临时数据或者需要频繁加载的数据,比如某些下载的数据或者一些临时处理结果。
  • JLKeychain - 快捷使用keychain存储数据的类,使keychain像NSUserDefaults一样工作。
  • sskeychain - SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。
  • KeychainAccess - 管理Keychain接入的小助手。

PDF

  • Reader - Reader可提供类似iBooks的文档导航,支持屏幕旋转和所有方向,并通过密码保护加密PDF文件,支持PDF链接和旋转页面。

图像浏览及处理

摄像照相视频音频处理

响应式框架

消息相关

消息推送客户端
消息推送服务端
通知相关

版本新API的Demo

  • appleSample - iOS 苹果官方Demo合集, 官方demo.
  • iOS7-Sampler - 整合了iOS7.0的一些十分有用的特性,比如:Dynamic Behaviors、碰撞检测、语音合成、视图切换、图像滤镜、三维地图、Sprite Kit(动画精灵)、Motion Effect(Parallax)、附近蓝牙或者wifi搜索连接、AirDrop、运动物体追踪(iPhone 5S以上,需要M7处理器)等等。对于日常的应用开发十分实用。
  • iOS8-Sampler - 日本的shuさん制作的 iOS8 参考代码集。01.Audio Effects ;02.New Image Filters;03.Custom Filters;04.Metal Basic;05.Metal Uniform Streaming;06.SceneKit;07.HealthKit;08.TouchID;09.Visual Effects;10.WebKit;11.UIAlertController;12.User Notification;13.Pedometer;14.AVKit;15.Histogram;16.Code Generator;17.New Fonts;18.Popover;19.Accordion Fold Transition
  • MTSwift-Learning - 通过一些简单项目实战演练开始学习 Swift 。
  • iOS8-day-by-day - swift。
  • iOS9-day-by-day - swfit iOS9 Day-by-Day :: Day 2 :: UI Testing
  • iOS 9 分屏多任务 - iOS 9 分屏多任务:Slide Over & Split View快速入门(中文版)。

代码安全与密码

测试及调试

  • HeapInspector - HeapInspector是一个用于检测应用中的内存泄漏的开源调试工具。
  • Crashlytics - Crashlytics 崩溃报告 崩溃日志 使用说明
  • UIViewController-Swizzled - 把你进入的每一个controller的类名打出来,如果看一些特别复杂的项目的时候直接运行demo就可以知道执行次序了。
  • snoop-it - snoop-it比UIViewController-Swizzled好用,代码托管在google上。
  • Versions - 版本比较小工具。
  • MobileWebPageTest - MobileWebPageTest是用来测试移动网页性能的软件,它可以对页面的加载和渲染过程进行截屏,协助开发者分析出页面性能瓶颈。
  • KKLog - 一个日志管理系统。
  • CleanroomLogger - 相当于 CocoaLumberjack 或 Log4j 的 Swift 版本,功能上甚至更强大。另外,源代码中已经内含了完整的 API 文档,使用非常方便。 Buildasaur - 自动测试框架 Buildasaur。 MMPlaceHolder - 一行代码显示UIView的位置及相关参数。 使用Quick框架和Nimble来测试ViewControler - Quick是一个用于创建BDD测试的框架。配合Nimbl,可以为你创建更符合预期目标的测试。
  • fastlane - 一套iOS开发和持续集成的命令行工具fastlane,可以用来快速搭建CI甚至自动提交的开发环境。这套工具中包括了上传ipa文件,自动截取多语言截屏,生成推送证书,管理产品证书等一系列实用工具。
  • KIF - 是一个开源的用户界面UI测试框架. 使用 KIF, 并利用 iOS中的辅助功能 API, 你将能够编写模拟用户输入,诸如点击,触摸和文本输入,自动化的UI测试.
  • Quick - 用于Swift中的单元测试(也可用于Objective-C),与Xcode整合在一起。如果你是Objective-C的粉丝,我建议用Specta代替这个,但是对Swift使用者来说,Quick是最佳选择。
  • Sleipnir - Swift的测试框架。
  • kiwi-bdd - TDD或BDD,objective-c语言的测试框架,最流行的BDD测试框架了,Kiwi最受欢迎(根据github上的star数来推断,行为描述和期望写起来也比较易懂,至少我是这么认为的) iOS开发中的测试框架
  • specta - TDD或BDD,objective-c语言的测试框架,用的人多。
  • cedar - TDD或BDD,objective-c语言的测试框架,用的人少。

AppleWatch

  • Tesla汽车AppleWatch app demo演示 - 通过AppleWatch控制特斯拉汽车,同时可以看到汽车的相关信息,比如剩余电量、可续行里程等,以及解锁/上锁车门、调节司机和乘客的四区域空调温度、开启车辆大灯、定位汽车等。源码推荐说明
  • WatchKit-Apps - WatchKit 开源小项目示例集锦。是不可多得地学习 WatchKit 的示例式教程(1.如何创建一个简单的交互式计数器;2.如何从手表上控制iOS app;3.如何在WatchKit app和iOS app之间共享数据;4.如何创建一个拥有不同背景色的数字时钟;5.展示不同的UI层;6.如何创建支持滑动手势的应用程序。)。
  • KYVoiceCurve - 类似Apple Watch中语音的声音曲线动画。
  • IGInterfaceDataTable - IGInterfaceDataTable是WKInterfaceTable对象的一个类别,可以让开发者更简单地配置多维数据。该项目使用类似UITableViewDataSource的数据源模式配置Apple Watch表格,而不是将数据结构扁平化成为数组。
  • Apple Watch开发教程资料汇总 - Apple Watch开发教程资料汇总。
  • Stargate - 通过 iPhone 桥接实现 Mac 与 Watch 的即时通讯。Stargate 通过封装两个优秀的基础类库 MMWormhole 和 PeerKit 实现高效的通讯应用。--swift
  • soon - 一款倒计时 WatchKit 示例应用。作者从架构的角度,思考如何设计一款完整、通讯高效且性能又好的 WatchKit 扩展应用。该示例学习性非常强。--swift
  • watchOS-2-Sampler - 基于 watchOS 2 若干新特性,写了相应的示例代码供大家学习、参考。
  • HMWatch - HMWatch是个有待完善的watchOS 2.0 HomeKit 应用示例。
  • CocoaMultipeer - CocoaMultipeer这个开源框架支持OS X, iOS和watchOS设备间的点对点通信,解决watchOS和Mac之间通信的方案还是很有用的。
  • HighstreetWatchApp - 是电商平台Highstreet针对App Watch的一款应用,该demo中加载的是虚拟数据。

VPN

完整项目

  • v2ex - v2ex 的客户端,新闻、论坛。
  • apps-ios-wikipedia - apps-ios-wikipedia 客户端。
  • jetstream-ios - 一款 Uber 的 MVC 框架。它同时提供了多用户实时通讯支持,一旦启动 JetStream 后端服务,通过 WebSocket 协议可以分分钟建立多用户实时通讯应用。
  • DeckRocket - 在相同 WiFi 网络环境内,通过iPhone 控制并播放 Mac 中的 PDF 文档。
  • ScanBook - 扫扫图书:可以扫描条形码查询图书,也可以关键字搜索,遇到合乎你口味的书,还可以看看别人的读书笔记,不同角度去体会。
  • DesignerNewsApp - Swift 开发的 DesignerNews 客户端,看着美美的!
  • KYWeibo - 调用新浪API自己写的第三方微博客户端。
  • DouQu_IOS - 逗趣IOS手机端(一款笑话软件),拥有完整的功能的手机应用app 。
  • IT江湖iOS客户端 - IT江湖iOS客户端。
  • Eidolon - 艺术品拍卖的投标亭平台,用swift与反应式编程框架 ReactiveCocoa。
  • CrazyPuzzle - 模仿“看图猜成语”App,功能齐全,配有音效,效果很不错。游戏使用cocoa框架完成,没有使用cocos2d的框架。
  • WhoCall - 谁CALL我,iOS来电信息语音提醒,无需越狱。(需要iOS 7.0及以上版本。)骚扰电话预警、来电归属地提醒、联系人姓名播报,这些有中国特色人性化的电话功能,iOS上也应该有。电话提醒、私有API。
  • 仿iOS猎豹垃圾清理(实现原理+源码) - 仿iOS猎豹垃圾清理(实现原理+源码),用到私有API。
  • DSLolita - 模仿新浪微博做的一款app,有发送博文,评论,点赞,私聊功能。
  • GSD_ZHIFUBAO - 支付宝高仿版。
  • Tropos - Tropos, 由 thoughtbot 推出的一款用 Objective-C 写的开源天气类应用, 截至今天, thoughtbot 已在 GitHub 上贡献了 174 个开源项目, 实在令人敬佩。
  • MVVMReactiveCocoa - GitBucket 2.0 通过审核啦,她是我在公司实践了一年多 MVVM 和 RAC 的基础上,利用业余时间开发的第三方 GitHub 客户端,旨在能够对想实践 MVVM 和 RAC 的 iOS 开发者有所帮助。AppStore地址,欢迎下载使用GitBucket和收藏MVVMReactiveCocoa。
  • Tomate - 这个圆盘式计时器让你更专注于工作或学习。P.S. App Store 上架收费应用(0.99 欧)。
  • StoveFireiOSMenu - 炉火餐饮系统iPad点餐端。
  • BaiduFM-Swift - 百度FM, swift语言实现,基于最新xcode6.3+swift1.2,初步只是为了实现功能,代码比较粗燥,后面有时间会整理,支持Apple Watch。
  • WNXHuntForCity - iOS高仿城觅项目(开发思路和代码)。
  • ZYChat - 关于聊天界面的可消息类型扩展,响应绑定设计。
  • NiceAppDemo - 仿最美应用-每日最美的钢琴律动效果。
  • meituan - 美团5.7iOS版(高仿),功能包括,团购首页,高德地图搜索附近美食并显示在地图上,上门服务,商家,友盟分享。
  • chuanke - 高仿百度传课iOS版。
  • Tuan - 模仿MJ老师iPad版美团(swift版),偶有bug 见谅。
  • SXNews - 模仿网易新闻做的新闻软件,完成了主导航页,新闻详情页,图片浏览页,评论页。效果不错,比网上流传的各种和网易新闻UI架构有关的代码都要完整,都要好。

好的文章

Xcode插件

  • iOS开发进阶,从Xcode开始 - 学习使用Xcode构建出色的应用程序!
  • 在Xcode启动的时候,Xcode将会寻找位于~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹中的后缀名为.xcplugin的bundle作为插件进行加载(运行其中的可执行文件)。Xcode5 Plugins 开发简介 写个自己的Xcode4插件

  • Xcode 4 插件制作入门 - Xcode 4 插件制作入门:Xcode所使用的所有库都包含在Xcode.app/Contents/的Frameworks,SharedFrameworks和OtherFrameworks三个文件夹下。其中和Xcode关系最为直接以及最为重要的是Frameworks中的IDEKit和IDEFoundation,以及SharedFrameworks中的DVTKit和DVTFoundation四个。

  • RTImageAssets - 一个 Xcode 插件,用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本。Asset Catalog Creator 功能强大,能自动生成全部尺寸:包括App Icons、Image Sets、Launch Screens Generator。

  • VVDocumenter-Xcode - 一个Xcode插件,build后,随手打开一个你之前的项目,然后在任意一个方法上面连按三下"/"键盘,就ok了。

  • java2Objective-c - Google公司出得java转Obje-C转换工具,转换逻辑,不转换UI。

  • RegX - 专治代码强迫症的 Xcode 插件,使用 Swift 和 Objective-C 编写。其用竖向对齐特定源代码的元素,使得代码更易读和易理解。说明 ; 菜单:xcode——》Edit-》Regx 。

  • KSImageNamed - 自动完成,特别是如果你正在写Objective-C,如果Xcode能自动完成文件名难道不会很伟大吗?比如图像文件的名称。

  • FuzzyAutocomplete - Xcode的实现自动完成还不完美,此插件能给出你所期望或想要的建议,设置:xcode-》Editor-》FuzzyAutocomplete-》plugin settings。

  • GitDiff - Xcode的代码编辑器的一个微妙的补强,加上了足够的可见信息以了解上次git提交以来发生了什么变化,设置:xcode-》Edit-》GitDiff。

  • XToDo - 这个插件不仅凸显TODO,FIXME,???,以及!!!注释,也在便利列表呈现他们。 菜单:xcode-》view-》snippets; 调出列表显示: xcode-》view-》ToDo List : ctrl + T 。

  • Backlight - 突出显示当前正在编辑的行。菜单:xcode-》view-》Backlight 。

  • CocoaPods - 该CocoaPods的插件增加了一个CocoaPods菜单到Xcode的产品菜单。如果你不喜欢命令行,那么你一定会喜欢这个插件。 用CocoaPods做iOS程序的依赖管理

  • Peckham - 添加import语句比较麻烦,此插件 按Command-Control-P,给出的选项列表中选择要的头文件。先要安装Alcatraz ,在终端输入: curl -fsSL raw.github.com/supermarin/… | sh ; 重启xcode-》window-》Package Manager:搜索 Peckham 安装,打开Peckham.xcodeproj,编译 Peckham target,重启Xcode 。

  • Auto-Importer - Auto-Importer是一个自动导入类对应的头文件的Xcode插件。

  • Alcatraz -使用Alcatraz来管理Xcode插件 使用说明

  • KSHObjcUML -KSHObjcUML 是一个 Objective-C 类引用关系图的 Xcode 插件。

  • ColorSense-for-Xcode - 颜色插件,安装之后,就不用根据RGB选择颜色,直接从取色板中取颜色,会自动补齐RGB代码。。

  • 10款提高iOS开发效率的XCode插件 - 10款提高iOS开发效率的XCode插件:1. XcodeColors;5. ACCodeSnippetRepository;10. Dash for Xcode。

  • ZLGotoSandboxPlugin - 支持Xcode快捷键了跳转当前应用沙盒了!快捷键是 Shift+Common+w。

  • XcodeSwiftSnippets - XcodeSwiftSnippets, 提供了很多可在 Xcode 上使用的 Swift 代码片段, 通过自动补全的方式极大的提高了开发效率, 另外还有 Objective-C 版的

  • CoPilot - 通过此插件, Xcode 可以协同编程了(采用 WebSocket 通讯)。如此强大的“黑工具”,不爱它能行吗。

  • ESJsonFormat-Xcode - 将Json格式化输出为模型的属性。
  • SCXcodeMiniMap - Xcode迷你小地图-SCXcodeMiniMap。
  • xTransCodelation - XCODE中英文翻译插件,提供API查询模式和网页模式,都是利用的百度翻译。另外集成了一个可以一键关闭其他所有APP的实用功能,方便开发者!

美工资源

其他资源

  • githuber - 最好用的GitHub人才搜索工具。
  • codatlas - 源代码搜索利器。
  • searchcode - 源代码搜索利器:来自悉尼的代码搜索引擎汇聚了 Github, Bitbucket, Sourceforge...等多家开源站点超20万个项目、180亿行源代码,能以特殊字符、语言、仓库和源方式从90多种语言找到函数、API的真实代码。
  • kitematic - Mac 上使用 Docker 最简单的方案。

开发资源

开发资料
swift
他人开源总结
中文开发博客列表

物联网

awesome-iot - 这份物联网学习参考大全太给力。从物联网协议、嵌入式系统、相关开源库、相关书籍、博客、学习笔记、标准应有尽有。