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,说明。
表相关
隐藏与显示
HUD与TOAST
- MBProgressHUD – 最多人用的loading。
- SVProgressHUD – SVProgressHUD的loading,如果你需要定制化的等待提示器,这个就是了(也许是最好的)。
- ProgressHUD – ProgressHUD的loading,使用最简单。
- MMProgressHUD – 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码。慢慢看视频吧,囊括了所有效果。
- WSProgressHUD – 一个小巧精致的HUD,支持添加到自定义View上, 还有更多小细节.。
对话框
其他UI
动画
侧滑与右滑返回手势
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。用于简化实现各种类型的旋转木马(分页滚动视图),无限轮播 ,iOS开发之多图片无缝滚动组件封装与使用。
- KIPageView – 无限循环PageView,横向TableView,无限轮播。
- 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 – 可循环滚动的较长文字,跑马灯,效果很好,一句话集成。
- SIFloatingCollection_Swift – 可定制的 Apple Music 风格浮动形状动画组件及演示。
- Cheetah – 易用、高可读链式动画类库。另一个类似类库是DKChainableAnimationKit。
- CKWaveCollectionViewTransition – swift, UICollectionViewController之间切换的动画。
- TKSubmitTransition – 基于 UIButton 的登录加载、返回按钮转场动画组件及示例。
网络相关
网络连接
图像获取
网络聊天
网络测试
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解析变得简单。
其他
数据库
缓存处理
- 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
- iOS-9-Sampler – 通过实例介绍了iOS 9 SDK中重要新特性的使用。
- 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快速入门(中文版)。
代码安全与密码
- ios-class-guard – 一个用于混淆iOS的类名、方法名以及变量名的开源库–有人反映编译出来的app运行不了。
- 《Protecting iOS Applications》:文章系统地介绍了如何保护iOS程序的代码安全,防止反汇编分析。
- fishhook – fishhook是Facebook开源的一个可以hook系统方法的工具。
- GesturePassword – 一个iOS手势密码功能实现,iPad/iPhone 都可以用,没有使用图片,里面可以通过view自己添加。keychain做的数据持久化,利用苹果官方KeychainItemWrapper类。操作部分都在controller了。删除直接用一下clear。
- JMPasswordView – 简单实用的手势密码,效果可自行调控。
- 仿密码锁-九宫格 – 仿密码锁-九宫格,主要是使用UIButton 手势事件 UIBezierPath画图,解锁失败弹出“密码错误”。
- CoreLock – 本框架是高仿支付宝,并集成了所有功能,并非一个简单的解锁界面展示。个人制作用时1周多,打造解锁终结者框架。
- LikeAlipayLockCodeView – 高仿支付宝手势解锁(超级版)。
- PCGestureUnlock – 目前最全面最高仿支付宝的手势解锁,而且提供方法进行参数修改,能解决项目开发中所有手势解锁的开发。
- ICPayPassWordDemo – CPayPassWordDemo,一个模仿支付宝支付密码输入对话框小demo。
- RSAESCryptor – 加密 RSA+AES Encryption/Decryption library for iOS. This library uses 2048-bit RSA and 256-bit key with 128-bit block size AES for encryption/decryption。
测试及调试
- 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中加载的是虚拟数据。
- NKWatchChart – NKWatchChart是一个基于PNChart专门为Apple Watch 开发的图表库,目前支持 line, bar, pie, circle 和 radar 等 图表形式。
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 个开源项目, 实在令人敬佩。
- SmileWeather -开源天气类应用,天气图标很完整。
- 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架构有关的代码都要完整,都要好。
- Monkey – Monkey for GitHub是一个GitHub开发者和仓库排名的开源App。这次主要增加了登录GitHub的功能,随手follow和star,并且增加发现模块,包括GitHub的trending,动态,showcases等。
- Uther – 跟蠢萌的外星人聊天,还能帮你记事”。itunes下载 。
好的文章
Xcode插件
美工资源
其他资源
- githuber – 最好用的GitHub人才搜索工具。
- codatlas – 源代码搜索利器。
- searchcode – 源代码搜索利器:来自悉尼的代码搜索引擎汇聚了 Github, Bitbucket, Sourceforge…等多家开源站点超20万个项目、180亿行源代码,能以特殊字符、语言、仓库和源方式从90多种语言找到函数、API的真实代码。
- kitematic – Mac 上使用 Docker 最简单的方案。
开发资源
开发资料
SWIFT
他人开源总结
iOS、mac开源项目及库汇总
原文:http://www.cnblogs.com/akiha/p/5738706.html