QiuZH‘s 转载|iOS 开发者资源集
由于内容比较长,GitHub项目首页文档显示不完整,完整版请点击 Github的这个地址:https://github.com/kechengsou/awesome-ios/blob/master/README.md
本文档针对市面上几乎所有和 iOS 开发相关的资源文档进行重新整理、融合和补充,更适合国内开发者。
文档内容包含了数十套教程、数千个框架、不计其数的工具、网站、资料等等,目前总计 4600+,涵盖了和 iOS 学习、日常工作中相关的方方面面,不管是 iOS 新手、还是老手,都是值得收藏的一个资源文档。
对于初学者来说,可以先款速浏览一下该文档,先对 iOS 整个生态提前有个完整的印象,打开眼界,对于今后的学习、工作能节省很多时间,少走一些弯路。
对于老手,本文对内容排版也做了优化,便于查找,对于 github 开源项目,也将 Star 标注出来,以便于筛选,对于支持 Swift 项目也做了相应标记。
申请收录,纠错,意见与建议,请到 issues 提交,也同时欢迎您的贡献。
您的 ✩ Star 是我们持续维护的最大动力!
更新时间 | 涵盖资源数 | Github 地址 | PDF下载 | 带目录 HTML 地址 |
---|---|---|---|---|
2020-06-01 | 4628 | 下载 | 下载 | 访问 |
目录
- iOS 开发者资源大全
- iOS 学习资料
- Objective-C 学习资料
- Swift 学习资料
* Swift 中文教程
* Swift 英文教程
* Swift 中高级教程/资料
* Swift 其他资料 - iOS 基础组件教程、学习资料
- SwiftUI 教程
- React Native/混合应用
- iOS 工程师的通用技能
- 架构、框架、模式
- 代码规范/APP质量
- 数据存储
- 文件操作
- 数据结构和算法
- 时间和日期库处理
- 工具类/语法增强
- 布局工具/自动布局
- 数学运算工具
- 正则表达式
- UI组件
- UI 设计资源
- UI 套件资源
- iOS UI Template/模版
- Prototyping/原型
- Activity Indicator/动作指标器控件/进度条
- ProgressView/进度条
- Alert & Action Sheet/告警框/提示框/对话框
- Popup/弹出框
- Badge/徽章/小红点
- Button/按钮
- Segmented Control/分段切换按钮/节选器
- Switch/开关按钮
- Calendar/日历控件
- Timeline/时间线
- Cards/卡片控件
- Form & Settings/表单及设置控件
- Label/文本标签控件
- 搜索框
- Menu/菜单控件/侧滑菜单/抽屉
- Navigation Bar/导航控件
- PickerView/选择器
- 下拉刷新组件
- Rating Stars/评分组件
- ScrollView/滚动视图组件
- 轮播组件
- Slider/滑块
- Status Bar/状态栏
- Stepper/步进控件
- TabBar/选项卡
- TableView/表格/列表
- CollectionView/集合视图
- Tag/标签
- TextField & TextView/文本域/文本处理
- page
- UIPageControl/分页控制器
- Splash/启动页/引导页/新手引导
- 场景类组件
- 主题
- Keyboard/键盘
- WebView/浏览器视图
- 其他开源 UI 组件/工具
- 文本处理
- 地图
- 图形/绘图工具
- 图表
- 动画、转场效果
- 颜色
- 字体/图标
- 手势
- 本土化工具
- 通知/推送/消息/IM
- 网络
- 数据解析
- 并发/调度/异步/多线程
- 页面路由/App 路由
- 多媒体功能
- 桥接
- 授权、权限
- AR/ARKit
- VR、虚拟现实
- 硬件相关
- 卡包/Passbook/钱包
- Payments/支付
- 区块链
- 游戏相关
- 函数式、响应式编程
- 反射
- Code Injection/代码注入
- Dependency Injection/依赖注入(IoC或切面)
- 安全
- 机器学习、人工只能相关
- 日志
- 调试
- 测试
- 性能、优化
- Objective-C runtime 运行时
- SDK
- APP 内开源许可列表参考
- 项目创建/安装
- 包管理 / 依赖管理
- 部署/打包/分发
- 操作辅助框架
- App Store/Apple 应用商店/上架
- Xcode
- 开发工具
- 网站、社区、博客、资讯站等资源
- 书籍、资料
- 面试/找工作
- 移动端综合服务商
- 数据分析、统计服务/SDK
- iOS 非手机设备资料
- 其他资源列表
- 程序员必备工具
iOS 学习资料
iOS 中文教程
- iOS 免费视频教程 - 课程搜
- 《iOS 教程》 - 基于 Objective-C
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS开发60分钟入门 | ★6.3k | |
iOS-Share | ★107 | 有不少 iOS 相关的 PDF 文档。 |
入门建议:
- iOS 开发入门 - 知乎上入门相关建议。
- 如何才能系统的学习 iOS 开发,理解一些规则和深层次的机制原理?
- 没有 C 和 Objective-C 基础如何快速学习 iOS 开发?
- iOS 开发怎么入门?
- iOS 开发入门需要学习哪些知识,从一无所知到精通需要多长时间?
- 12 岁如何入门 iOS 编程?
- 编程零基础如何学习 Swift
英文学习资料
包括教程、网站、社区、PPT等。
- Apple Developer Documentation(英) - 苹果官方开发者文档,比较权威。
- 苹果官方教程 - Start Developing with iOS - 苹果官方教程.
- Apple - Object-Oriented Programming with Objective-C
- Apple - Programming with Objective-C
- CodeProject - iPhone 和 iOS 开发入门。
- Lifehacker - 我想编写iOS应用,我从哪里开始?
- Ray Wenderlich - 学习iOS应用编码。
- Stanford - Developing iOS 7 Apps for iPhone and iPad
- Stanford - Developing iOS 10 Apps with Swift - 目前的版本是iOS11+Swift,基于 iOS 10 的
- Stanford - Developing iOS 11 Apps with Swift - Stanford 在iTunes U上的教程,目前的版本是 iOS11 + Swift。
- Swifteducation - Teaching App Development with Swift
- Udacity - Intro to iOS App Development with Swift
- iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp - udemy 的课程
- AppCoda
- Tutorials Point
- Code with Chris
- Cocoa with Love
- raywenderlich.com - 这对 iOS 开发者(以及游戏开发者)的教程。
- Mike Ash
- Big Nerd Ranch
- Tuts+
- Treehouse's iOS Courses and Workshops - 适用于 Objective-C 和 Swift的初学者和高级开发人员的主题列表。
- Cocoa Dev Central
- Use Your Loaf
- Realm Academy
- LearnAppMaking - LearnAppMaking 帮助开发者学习如何构建,运行、以及运营的网站。
- DaddyCoding - iOS教程,从初学者到高级。
- Cocoa is my Girlfriend
- RAYWENDERLICH - 开发者和爱好者的教程。
- Big Nerd Ranch
- iOS-Blog
- Use Your Loaf
- iOS Developer Tips - 针对 ios 开发者的网站,包括 代码,贴士,技巧等。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS8-day-by-day | ★2.7k / Y | |
iOS9-day-by-day | ★1.4k / Y | |
iOS-Learning-Materials | ★1.1k | 精心策划的文章、网络资源、教程和代码库列表,可以帮助您深入了解 iOS,学习 iOS 开发的方方面面,内容很全。 |
Conferences.digital | ★752 / Y | Conferences.digital 是一个 MacOS 上的应用,可以免费观看你关注的开发者会议内容。 |
iOS 其他学习资料
中文资料:
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS9AdaptationTips iOS9适配 | ★4.5k | |
iOS学习资源 包括WWDC心得等 | ★2.7k | |
iOS开发学习笔记 入门必看 | ★1.2k | |
iOS开发最佳实践 | ★989 | |
iOS博客文章列表 | ★156 | |
iOS各种学习的资料 | ★98 | pdf电子书、实例代码等等。 |
iOS开发参考资料 | ★84 | iOS开发参考资料,收录内容不少,但相对比较陈旧。 |
iOS中文文档及精品资源 | ★20 | |
iOS_Resource | 一些 ios 学习资料,文章居多。 |
其他聚合资料:
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-iOS-blog-article | ★292 | iOS相关的,blog文章合集。 |
Flawless-iOS | ★192 | 一组关于iOS方方面面的教程集合(英文)。 |
iOS-Learning-Resources | ★100 | 一些iOS的学习资源(英文) |
Awesome iOS Resource | ★57 | 一些iOS文章,会议资料的集合,部分是中文的。 |
源码解析系列文章(TODO 待补充):
- 《Alamofire 原发分析系列》 - 一共12篇文章
- 《iOS开发之Alamofire源码解析》 - 独立的一片文章,适合快速揽阅
iOS 工程师技能图谱
- 《工程师节能图谱-图片》 - 图片格式
- iOS 技能图谱
- iOS 技能图谱
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS 开发工程师职业图谱 | ★72 |
Objective-C 学习资料
Objective-C 中文教程
系列教程:
入门文章:
- 《Objective-C 30分钟入门教程》
- 《Objective-C基础教程》 - 一篇入门文章
Objective-C 英文教程
Objective-C 中高级教程、资料
内存管理方面:
Objective-C 中的内存管理
ARC : Automatic Reference Counting, 自动引用计数
Blocks :代码块
多线程、同步、异步
队列:
GCD、多线程: Grand Central Dispatch,中文称为大中枢派发,是异步执行任务的技术之一
同步、信号量:
Objective-C 其他资料/工具
- Objective-C 在线编辑器 - 支持 Objective-C 在线编译,运行。
- Online Objective-C compiler - 另一个 Objective-C 在线编译工具
- compile objective-c online - 又一个 Objective-C 在线编译工具
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Objective-C Cheat Sheet | ★1.2k | Objective-C 的常见问题速查表。 |
Swift 学习资料
Swift 中文教程
- Swift 免费视频课程 - 课程搜
- 中文版 Apple 官方 Swift 教程《The Swift Programming Language》
- 《Swift 教程 - 菜鸟教程》
- Swift 教程 - W3CSchool
- 苹果官方的 Swift 教程
- Swift 5.1 教程
- Swift 4.0 教程
- Swift 3.1 教程
- Swift 3.0 教程
- Swift 2.2 教程
- Swift 2.1 教程
- Swift 2.0 教程
- Swift 2.0 文档翻译
- Swift 4.0 编码规范,持续更新中(已更新Swift 5.0)
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
中文版Apple官方Swift教程 | ★19.4k / Y |
Swift 英文教程
- Swift.org - Swift 官方网站
- Swift 官方文档(英)
- Swift Tutorial - tutorialspoint(英)
- Swift Tutorial - javatpoint(英)
- Brian Advent youtube channel - Youtube Swift 教程频道。
- Hacking With Swift - 使用 Swift 学习编写 iPhone 和 iPad 程序的网站。
- Thinkster
- iOS Development with Swift in Motion - 有一批关于学习 iOS 开发者的在线课。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-swift | ★19.2k / Y | |
Design-Patterns-In-Swift | ★11.9k / Y | Swift 设计模式。 |
The Official raywenderlich.com Swift Style Guide - Swift 代码规范(英) | ★10.8k / Y | |
Awesome-Swift-Education | ★5.4k / Y | 学习 Swift 语言先关的所有资源(主要是一些文档和文章的搜集)。 |
The Swift Summary Book | ★1.7k / Y | 关于在 Playground 上编写 Swift 的电子书。 |
learn-swift | ★772 / Y | 感觉就是一本在线学习 Swift 电子书。 |
Swift Education | / Y | 一个用于学习 Swift 和 分享相关资料学习社区。 |
Swift 中高级教程/资料
内存管理、ARC:
协议:
协议扩展
错误处理:
Swift 扩展:
Swift 泛型:
Equatable 和 Comparable
Swift 队列
多线程、GCD、信号量
- 《Swift4.0 - GCD》
- 《Swift GCD DispatchSemaphore - 信号量》 - Swift 中信号量(DispatchSemaphore)的用法
- swift---GCD的基本使用
- Swift4 - GCD的使用
- 《Swift多线程:使用GCD实现异步下载图片》
随机数:
- 《Swift 之随机数》
- How To: Random Numbers in Swift(英) - 如何使用 Swift 中的随机值,以及从列表中提取随机元素。
Swift 和 Objective-C 混编、互操作
- 《Swift和Objective-C 混编》
- 《iOS开发之Swift篇(15)—— Swift与Objective-C混编》 - Objective-C 和 Swift 相互调用。
- 《(WWDC) Swift 和 Objective-C 的互操作性》
Swift 其他资料
英文资料:
- 100 Days of Swift - 100 天学习 Swift。一个用于学习 Swift 语言的站点,包括教程、代码、示例应用。(英)
- Swift Standard Library - Swift 标砖库文档(英)
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
30DaysofSwift | ★11k / Y | 另一个 30 天学习 Swift 的资源,每天一个例子应用。 |
Swift-30-Projects | ★6.1k / Y | 30 个用户自学的 Swift 小 App。 |
聚合类资料:
地址 | Stars/Siwft | 简介 |
---|---|---|
Awesome Swift | ★19.2k / Y | Swift 资源列表,包括教程、框架、工具等。(本文档已涵盖其中内容) |
matteocrippa | ★19.2k / Y | Swift 资源集合(本文档已涵盖)。 |
Awesome-Swift-Education | ★5.4k / Y | 关于 Swift 学习的资源集合。 |
Wolg | ★5k / Y | 另一个关于 Swift 的框架、类库、软件的文档(本文档已涵盖)。 |
Awesome-Swift-Playgrounds | ★3.2k / Y | Playgrounds 的资源聚合。 |
Awesome-Server-Side-Swift/TheList | ★858 / Y | Swift 服务端开发的资源列表。 |
参考手册:
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
whats-new-in-swift-4 | ★1.9k / Y | Swift 4.0 的新功能展示。 |
Swift Cheat Sheet | ★897 / Y | Swift 的针对常见问题和注意事项的速查表。 |
SwiftSnippets | ★140 / Y | 在 Xcode 中使用的 Swift 代码片段的集合。 |
Swift 学习工具:
- 一个在线运行 swift 工具
- Swift Online Compiler, IDE, Editor, Interpreter and REPL - 另一个在线 Swift 运行工具。
- OnlineSwiftPlayground - Swift 代码在线运行工具,支持 Swift 5。
iOS 基础组件教程、学习资料
Foundation 常用对象
Foundation 总览
NSArray: 数组对象
NSBundle:
NSData:
NSDate:
NSDateFormatter
NSNotificationCenter:
NSDictionary: 字典类型
NSException:
NSFileManager:
NSIndexPath:
NSNumber:
NSObject: ios 基础对象
NSSet: ios 集合
NSString: 字符串
NSTimer: 定时器
NSURL: url 封装
NSUserDefaults:轻量级持久化数据
NSHTTPCookieStorage:cookie 管理
NSFileHandle:文件处理
NSRunLoop:一种消息机制的处理模式
NSURLRequest: 处理 http 请求
NSOperation: 是一个抽象类,代表与单个任务相关联的代码和数据
NSInvocation: 调用对象消息
NSURLConnection: 处理url网络连接,主要是 http 的。不过 9.0 推荐使用 NSURLSession
NSURLSession:
UIKit 常用组件
- UIKit 总览
常用组件介绍:
UIAlertView: 基础告警框
UIApplication: 应用入口
UIBarButtonItem: 导航按钮
UIBezierPath: 贝塞尔曲线,绘图用
UIButton:按钮控件
UIColor:颜色类型
UIFont:字体类型
UIControl:控件基类
UIDevice:设备
UIImage: 图像
UIImageView:是一个加载图片的视图
UILabel:只读文本
UINavigationBar:导航栏控件
UINavigationController:导航容器
UINavigationItem:导航内组件
UIResponder:事件响应
UIScreen:充当物理屏幕
UIScrollView: 滚动视图
UISearchBar: 搜索框
UISplitViewController: 用来分屏,比如 ipad 上的效果
UITableView: 用于展示列表
UITableViewCell: 单元格
UITextField: 文本域表单
UITextView: 显示文本信息,可以多行
UIView: 基本视图控件
UIViewController: mvc 架构中的那个 视图控制器
UIWebView: 内置web浏览器
UIWindow: 通常在一个app中只会有一个UIWindow
UIPopoverController: 弹出视图
UICollectionView: 展示集合视图
QuartzCore 核心动画框架
- QuartzCore 总览:
核心组件介绍:
CALayer: UIView上的图层,很多的CALayer组成了UIView
CAMediaTimingFunction: 定义动画时间
CAAnimation: 抽象动画类
CAShapeLayer: 图形 layer 层,可以自定义形状
CATransaction: 动画事务
CoreData - 数据存取
核心组件介绍
NSManagedObjectContext: 用来表示一个对象空间或者你用来请求,创建,和保存被管理对象的上下文
NSFetchRequest: 获取数据的请求,通过被管理数据的上下文来执行查询
NSManagedObject: 数据库中的存放每一行数据
NSPersistentStoreCoordinator: 持久化存储
CoreLocation - 定位
核心组件:
CLLocationManager: 定位服务的管理类
CLLocation: 定位服务的管理类
MapKit 地图
其他资料
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS 各种基础组件DEMO | ★3.1k |
SwiftUI 教程
SwiftUI 教程
- SwiftUI 免费视频教程 - 课程搜
- SwiftUI Tutorials(英) - 苹果官方 SwiftUI 教程
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftUI 教程 | ★1.3k / Y |
SwiftUI 资源
- SwiftUI 官网 - SwiftUI 官网
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
open-source-ios-apps#swiftui | ★23.5k / Y | 基于 Swift UI 实现开源App。 |
Learn-iOS-Swift-by-Examples | ★3.2k / Y | 精心收集并分类整理的Swift开发学习资源,包括Apple官方提供的示例代码和文档,以及github上的项目和国内外开发者的技术博客。 |
awesome-swiftui | ★625 / Y | 有关SwiftUI和Combine的文章,教程,指南和视频的列表的大杂烩。 |
Awesome SwiftUI | ★163 / Y | 精选的SwiftUI教程,库,和文章的精选列表(英文)。 |
Flutter 教程
- Flutter 免费视频教程 - 课程搜
- Flutter教程 - Flutter中文网
- Flutter Tutorials - Flutter 官方教程(英)
- Flutter Tutorial - Flutter 简明教程 - tutorialspoint (英)
Flutter 文章
Flutter 资源
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
flutter | ★93.4k | Flutter针对想要在Android和iOS上运行的2D移动应用进行了优化。您可以使用Flutter构建全功能应用程序,包括相机、地理位置、网络、存储、第三方SDK等. |
flutter-go | ★21.1k | flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档. |
flutter/plugins | ★11k | Flutter 官方维护的一套插件库 |
flutter-webrtc | ★1.4k | Flutter Mobile/桌面/Web 的 多端 WebRTC 插件。 |
List of Awesome Flutter Packages | ★902 | 一组 Flutter 资源的组件库,资源库。 |
Flutter 中文优质资源清单 | ★202 | |
mi_card_flutter | ★156 | Complete Flutter Development Bootcamp 中的 Mi Card 项目教学代码。 |
dicee-flutter | ★80 | Complete Flutter Bootcamp 中 Dicee 项目的入门代码。 |
awesome-flutter | flutter 资源列表 |
React Native/混合应用
JavaScript和React编写原生移动应用
React Native 教程
系列教程:
文章:
React native 开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
react-native | ★87.6k | 使用 React 构建移动应用的框架,facebook 出品。 |
weex | ★17.6k | 用于构建移动跨平台 UI 的框架,阿里巴巴出品,在阿里系 app 中被广泛应用。 |
react-native-maps | ★11.1k | React Native Mapview 组件,适用于 iOS 和 Android,airbnb 出品。 |
react-native-maps | ★11.1k / Y | 适用于 iOS 和 Android 的 React Native Mapview 组件。 |
react-native-maps | ★11.1k | 适用于 iOS + Android 的 React Native Mapview组件。 |
react-native-code-push | ★6.8k | 微软提供的一套可用于 React Native 和 Cordova 的热更新服务. |
react-native-svg | ★4.6k | React Native 的 SVG 库。 |
RNStudyNotes | ★3.7k | React Native 研究与实践. |
react-native-config | ★3.1k | 用于响应本机应用程序的配置变量,模块将配置变量公开到你的javascript代码中,同时支持iOS和 Android. |
react-native-webrtc | ★2.7k | React Native 的 WebRTC 模块。 |
react-native-notifications | ★2.2k | React Native 通知框架。. |
react-native-permissions | ★2.1k | 适用于 iOS 和 Android 上 React Native 统一权限 API。 |
react-native-spinkit | ★2k | 一套 React Native 动画效果加载指示器。 |
TypeScript-React-Native-Starter | ★1.8k | TypeScript和React Native的入门模板,其中包含详细的自述文件,介绍了如何将二者结合使用。 |
MVVMFramework | ★1.6k | (OC版)总结整理下一个快速开发框架,分离控制器中创建 tableView 和 collectionView 的代码,已加入cell自适应高度,降低代码耦合,提高开发效率。 |
react-native-orientation | ★1.5k | 监听 react native 中的设备方向变化,并在屏幕与屏幕之间设置首选方向。 |
react-native-iap | ★1.4k | 一个应用内购买(内购)的 react native 模块。 |
react-native-template-typescript | ★826 | 简洁干净的 React Native 模板,可快速使用 TypeScript。 |
react-native-viewpager | ★601 | 针对 Android ViewPager 和 iOS UIPageViewController 的 React Native 封装。 |
react-native-syan-image-picker | ★479 | React-Native 多图片选择 支持裁剪 压缩. |
React Native Awesome Alerts | ★329 | 一套 React Native 告警框组件。 |
QTEventBus | ★315 | 优雅的处理全局事件,支持 AppDelegate 解耦. |
Objective-Chain | ★248 | Objective-Chain 是一个面向对象的响应式框架,作者表示该框架吸收了 ReactiveCocoa 的思想,并且想做得更面向对象一些。 |
LoginWithReactiveCocoa | ★31 | ReactiveCocoa - 登录交互效果的实现。 |
React native 资源汇总
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
open-source-ios-apps#react-native | ★23.5k | React native 的开源应用程序 |
React Native | ★6.1k | 30 天学习 React Native 的 Demo 示例,包括 iOS 和 Android 版本的。 |
React Native 学习资源精选仓库(汇聚知识,分享精华) | ★1.6k | |
react-native-awesome-card-io | ★425 | 一个用于React Native的完整且跨平台的 card.io 组件。 |
其他混合开发框架
地址 | Stars/Siwft | 简介 |
---|---|---|
rexxar-ios | ★566 | 豆瓣推的混合开发库 Mobile Hybrid Framework Rexxar iOS Container |
iOS 工程师的通用技能
C/C++ 教程
算法/数据结构/设计模式
地址 | Stars/Siwft | 简介 |
---|---|---|
Trip-to-iOS-Design-Patterns | ★1.2k | iOS 设计模式相关资料整 |
设计模式在Swift中的应用 | ★21 / Y |
Linux 相关教程
常用命令:
网络/Web
http:
tcp/ip:
前端教程
html 相关教程:
CSS 相关教程:
Javascript 相关教程:
程序员软技能
- 程序员软技能 - 课程搜 - 很多免费在线课程。
- 《程序员必须学会的《软技能》》
其他工具相关
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Git教程 | ★451 |
架构、框架、模式
架构相关教程、资料
VIPER 架构:
MVVM 架构:
MVC 架构:
架构/模式相关开源框架
简洁架构,Viper, MVVM, 响应式...
地址 | Stars/Siwft | 简介 |
---|---|---|
Small | ★4.9k | A small framework to split app into small parts |
BeeFramework | ★3.4k | BeeFramework是一款iOS平台的MVC应用快速开发框架,使用Objective-C开发。 其早期原型曾经被应用在QQ空间 、QQ游戏大厅 等多款精品APP中。 BeeFramework 从根本上解决了iOS开发者长期困扰的各种问题,诸如:分层架构如何设计,层与层之间消息传递与处理,网络操作及缓存,异步及多线程,以及适配产品多变的UI布局需求。 |
CleanArchitectureRxSwift | ★2.7k / Y | 使用 RxSwift 的简洁架构的示例。 |
samurai-native | ★2.3k | 是一个基于浏览器内核通过HTML+CSS 开发原生移动应用的iOS框架. |
MobileProject | ★2k | 一个基于 MVC 的项目框架,并集成一些常用的功能. |
SlackKit | ★919 / Y | SlackKit makes it easy to build Slack apps in Swift. |
ios-architecture | ★745 / Y | 一套 iOS 框架的集合,包括 MVC, MVVM, MVVM+RxSwift, VIPER, RIBs 等等. |
Clean Architecture for SwiftUI + Combine | ★721 / Y | 一个简洁示例项目,展示如何基于 SwiftUI 建立应用。 |
Tempura | ★532 / Y | 一套iOS开发的整体方案, 灵感来自于 Redux 和 MVVM. |
iOS-Viper-Architecture | ★531 | 这个库包含了一套实现 VIPER 架构的详细示例,基于 Alamofire、AlamofireImage、PKHUD、CoreData 等框架。 |
Reactant | ★372 / Y | Reactant 是一个 iOS 响应式框架. |
Viperit | ★371 / Y | 一个 Viper 框架,让基于 VIPER 架构开发APP更加简单,基于Swift. |
XFLegoVIPER | ★215 | A lightweight framework base on VIPER architecture for iOS, to build robust and maintained large scale project. |
YARCH | ★141 | 一个 VIPER 的替代品,基于单项数据流 (类似于 flux). |
SwiftyVIPER | ★105 / Y | 更简洁方便地实现 VIPER 架构. |
VIPER Module Generator | ★51 | 一个 VIPER 模块生成器,包括注释和预定义的函数. |
Spin | ★49 / Y | 针对 RxSwift, ReactiveSwift 和 Combine 的反馈回路系统的一个通用实现。 |
MMVMi | ★7 | 一套 MVC 和 MVVM 的校验模型 |
其他架构、模式相关资源
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome iOS architecture | ★3.8k | 仅面向框架的 iOS 资源集合,包括 MVC,MVP,VIPER等模式。 |
代码规范/APP质量
编码规范
编码规范英文资料
- Objective-C Coding Convention and Best Practices - 一个代码约束相关的 Gist。
- Dropbox Objective-C Style Guide - Dropbox 的 Objective-C 代码风格指南。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Swift Style Guide by @raywenderlich | ★10.8k / Y | raywenderlich.com 官方 Swift 代码风格指导。 |
Futurice iOS Good Practices | ★9.9k | iOS 初学者的最佳实践。 |
NY Times - Objective C Style Guide | ★5.6k | 一个纽约时报用的 Objective-C 代码风格知道。 |
GitHub - Style guide & coding conventions for Swift projects | ★4.7k / Y | Github 官方的 Swift 代码规约。 |
raywenderlich Style Guide | ★3k | raywenderlich.com Objective-C 编码约束。 |
GitHub Objective-C Style Guide | ★1.7k | 一个 Objective-C 代码风格指导。 |
Swift Style Guide by LinkedIn | ★1.2k / Y | LinkedIn 官方 Swift 代码指南。 |
Spotify Objective-C Coding Style | ★224 | Spotify 出品的针对 iOS 的开发规范。 |
Prolific Interactive Style Guide | ★170 / Y | 一个 Swift 代码样式指南。 |
SlideShare Swift Style Guide | ★94 / Y | SlideShare 官方的 Swift 代码指南。 |
代码质量检查框架/工具
- 代码质量总是很重要的。保留代码检查,内存检查工具等等*
- PSPDFUIKitMainThreadGuard - 简洁的代码片段,当 UIKit 在后台线程被使用时生成断言。
- Bugsee - 应用程序内的错误和崩溃报告,包括视频、日志、网络流量和跟踪。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
MLeaksFinder | ★4.8k | 在程序运行时寻找内存泄漏 |
MLeaksFinder | ★4.8k | 在开发阶段找到内存泄漏问题。 |
SwiftFormat | ★3.9k / Y | 用于重新格式化Swift代码的代码库和命令行格式化工具。 |
FBRetainCycleDetector | ★3.7k | 帮助检测运行时循环引用的iOS库。 |
FBMemoryProfiler | ★3.3k | 帮助分析iOS内存使用情况的iOS工具 |
KZBootstrap | ★2k | 一系列的脚本和注释,代码质量很差时,在编译时产生额外的错误和警告,目的是高质量的编码。 |
Bootstrap | ★2k | iOS项目引导旨在实现高质量的编码。 |
HeapInspector-for-iOS | ★1.8k | 在没有 instruments的情况下,在iOS应用程序中发现内存问题和泄漏。 |
Tailor | ★1.3k / Y | 用于Swift的跨平台静态分析器,帮助您编写更干净的代码并避免错误 |
spacecommander | ★1.1k | 作为一个团队提交完全格式化的Objective-C代码,甚至不需要尝试 |
IBAnalyzer | ★958 | 在不运行应用程序或编写单元测试的情况下查找常见的xib和脚本相关问题。 |
ODUIThreadGuard | ★699 | 一个帮助您检查是否在主线程中进行了UI更改的保护程序。 |
DWURecyclingAlert | ★571 | 优化 UITableViewCell 以实现快速流畅滚动 |
SwiftCop | ★545 / Y | SwiftCop 是一个完全用Swift编写的个还是验证库,灵感来自 Ruby On Rails 活动记录验证的清晰性 |
Buglife | ★488 | 用户 iOS 应用的错误报告. |
Warnings-xcconfig | ★445 | 一个 xcconfig (Xcode 配置) 文件, 在项目或其目标中轻松打开大量警告。 |
GlueKit | ★363 / Y | Swift的类型安全观察框架。 |
Clue | ★281 | iOS灵活的错误报告框架,包括屏幕广播、网络、交互和视图结构。 |
ocstyle | ★260 | Objective-C 代码风格检查器. |
Aardvark | ★229 | Aardvark 是一个使得创建可操作的bug报告变得非常简单的库。 |
PSTModernizer | ★217 | 通过修复和添加缺少的方法,更容易支持较旧版本的iOS环境。 |
Stats | ★163 | 应用内存使用情况的监视器. |
Trackable | ★144 | Trackable是一个简单的分析集成助手库。它是专门为方便、舒适地与现有项目集成而设计的。 |
DecouplingKit | ★133 | iOS 项目模块之间的解耦 |
KZAsserts | ★103 | 一系列的自定义断言,使用 DSL 来自动生成 NSError,允许在 Debug 时断言和在 Release 时捕获错误。 |
WeakableSelf | ★52 / Y | 在闭包中封装“weak self”和“guard”语句的快速微框架。 |
Fallback | ★43 | 嵌套do-try-catch的语法糖。 |
静态代码分析
- 一些静态代码分析工具,用户增加代码风格和约束.*
地址 | Stars/Siwft | 简介 |
---|---|---|
Swiftlint | ★13.4k / Y | Realm 出品的 Swift 代码规范检测工具。深度嵌入 Clang 和 SourceKit,可以监测整个项目的代码风格。如果有不符合规范之处,SwiftLint会报出相应警告️。当然为了方便和特殊情况,也可在相应代码处手动关闭警告,或是在整个项目中关闭警告,十分灵活。 |
OCLint | ★3.1k | 用于提高质量和减少缺陷的静态代码分析工具。官网 |
IBLinter | ★891 / Y | 用于生产接口的linter工具。 |
Taylor | ★290 / Y | 测量Swift代码度量并在Xcode、Jenkins和其他CI平台上获取报告。官网 |
AnyLint | ★90 / Y | 结合 Swift 和正则表达式的强大功能来做任何 Lint |
SwiftLinter | ★4 / Y | 在项目之间共享lint规则,并使用SwiftLint共享lint更改的文件。 |
数据存储
Core Data
CoreData是一个模型层的技术,也是一种持久化技术,它能将模型对象的状态持久化到磁盘里
Core Data 相关教程
Core Data 开源框架、工具
- Core data 框架, 包装器, 生成器以及样例.*
地址 | Stars/Siwft | 简介 |
---|---|---|
MagicalRecord | ★10.9k | 让 Core Data 的数据获取变得非常容器 |
Mogenerator | ★3k | Core Data 自动代码生成器. |
CoreStore | ★2.5k / Y | 一个强大的 Core Data 框架, 用于 增量迁移、获取、观察等操作。 |
Sync | ★2.4k / Y | 一个现代的 Swift CoreData-JSON 同步工具. |
Ensembles | ★1.6k | 一个 Core Data 同步框架. |
QueryKit | ★1.3k / Y | 一个简洁的类型安全的 CoreData 查询语言。 |
ObjectiveRecord | ★1.3k | ActiveRecord 的 Objective-C 版本。 |
Graph | ★835 / Y | Swift中CoreData的优雅数据驱动框架。 |
AlecrimCoreData | ★778 / Y | 一个强大且简单的 Core Data 封装框架,基于 Swift 实现. |
CoreModel | ★745 | Replace CoreData. |
encrypted-core-data | ★740 | 使用 SQLClipher 对 CoreData 的 SQLite 存储进行加密。 |
CoreStore | ★560 | Core Data 管理类库。 其中事务管理及查询是其比较大的亮点,整套 API 功能完整. |
CoreDataStack | ★559 / Y | BNR Core Data 栈. |
PrediKit | ★537 / Y | iOS、macOS、tvOS和watchOS的NSPredicate DSL。灵感来源于SnapKit,用Swift写成。 |
JSQCoreDataKit | ★499 / Y | swift 开发者的 Core Data 技术栈. |
SSDataKit | ★463 | 消除使用 CoreData 产生的样板代码。 |
AERecord | ★305 / Y | 超级棒的 Core Data 包装器,基于 Swift. |
ios-queryable | ★231 | ios-queryable 是一个基于 CoreData 的 IQueryable/IEnumerable 实现。 |
Skopelos | ★228 / Y | 一个极简的,线程安全的,非样板和超级易于使用的版本的活动记录的 Core Data。 |
DATAStack | ★210 / Y | 100% Swift 实现的简单样板级 Core Data 套件, NSPersistentContainer. |
HardCoreData | ★207 | 不会阻塞 UI 线程的 CoreData 栈和控制器。 |
SLRESTfulCoreData | ★183 | 根据 Objc 命名习惯,在运行时自动生成访问器,URL替换和智能属性映射。 |
JustPersist | ★145 / Y | JustPersist是在iOS上进行持久化的最简单、最安全的方法,它提供了现成的 Core Data 支持。 |
Cadmium | ★117 / Y | 一个完全swift框架,它封装了 CoreData 并提供最佳实践。 |
PredicateFlow | ★90 / Y | 编写惊人的、强类型的、易于阅读的NSPredicate,允许您编写可流动的NSPredicate,而不必猜测属性名称、谓词操作或编写错误的参数类型。 |
CWCoreData | ★66 | :方便并发环境下 CoreData 框架开发的扩展与实用工具。 |
CloudCore | ★57 | 强大的CloudKit同步工具:离线编辑,关系,共享和公共数据库,字段级增量等等。 |
CoreDataDandy | ★35 | 一种围绕 Core Data 的功能性轻量级包装器,它简化了常见的数据库操作。 |
Core Data Query Interface | ★29 | 一个类型安全、流畅的 Core Data 查询框架. |
DataKernel | ★12 / Y | 一个简化操作的 CoreData 包装器 |
Records | / Y | 只需几分钟,就可以建立一个功能完善的CoreData实现,它包含Swift的静态、类型安全特性。 |
数据库
数据库相关教程
数据库相关开源框架、工具
- 包括:包装器,客户端,解析替代方案和安全工具,用于处理临时数据和持久数据。*
- Couchbase Mobile - Couchbase文档存储,用于带有云同步的移动设备。
- Couchbase Mobile - Couchbase,有云同步支持的移动平台上的文档存储。
- mogenerator - mogenerator为你定义了的Core Data生成默认的数据类。与xCode不一样的是(xCode一个Entity只生成一个NSManagedObject的子类),mogenerator会为每一个Entity生成两个类。一个为机器准备,一个为人类准备。为机器准备的类一直去匹配data model。为人类准备的类就给你轻松愉快的去修改和保存.
- swiftydb - 是一个第三方 SQLite 工具,能够大大简化数据库操作。如果你不放心 Realm,那就用 SwiftyDB 吧。使用教程、demo
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Realm | ★13.9k / Y | Core Data 和 SQLite 的替代方案:简单,现代和快速,很强大。Realm 是由硅谷创业公司发布的一款可以用于 iOS 和 Android 的跨平台移动数据库。支持的平台包括 Java,Objective-C,Swift,React Native,Xamarin。是第一个专门针对移动平台的数据库,立志取代 SQLite 、CoreData。核心数据引擎由 C++ 开发,有着优异的性能。简单易用可以快速上手,在数据存储时再也不用思考烦人的底层技术细节。 realm 官方 |
FMDB | ★13.4k | 一个 SQLite 的 Cocoa/Objective-C 封装,支持多线程操作。 |
sqlitebrowser | ★13.1k | DBite for SQLite(DB4S)项目的官方主页。 以前称为“ SQLite数据库浏览器”和“ SQLite数据库浏览器”。 网站:http://sqlitebrowser.org |
MMKV | ★10.1k | 微信开发的一套搞笑, 小型的适用于移动端的 key-value 存储框架, 可以用在 iOS, Android, macOS 和 Windows 系统上. |
WCDB | ★8.4k | WCDB是适用于iOS,macOS的高效,完整,易于使用的移动数据库框架。 |
SQLite.swift | ★6.9k / Y | SQLite3上的类型安全的Swift语言层。 |
SwiftyUserDefaults | ★4.2k / Y | 静态类型的NSUserDefaults。 |
SQLCipher | ★4.1k | SQLCipher使用256-bit AES加密,SQLCipher分为收费版本和免费版本。官方教程, 加密你的SQLite - 各种sqlite数据库加密介绍。 SQLCipherDemo下载 。 |
YapDatabase | ★3.3k | YapDatabase 是适用于 iOS 和 Mac 的可扩展数据库。 |
GRDB.swift | ★2.9k / Y | Swift的通用SQLite工具包,支持WAL模式。 |
ParseAlternatives | ★2.8k | 解析备用后端服务提供商的协作列表。 |
SugarRecord | ★2.1k / Y | 数据持久性管理库 |
FCModel | ★1.6k | 一个针对 Core Data 替代品,针对那些喜欢直接使用 SQL 的开发者. |
IceCream | ★1.4k | 同步 Realm Database 和 CloudKit. |
UserDefaults | ★1.3k / Y | 适用于iOS,macOS和tvOS的简单强类型UserDefaults。 |
fluent.swift | ★1k / Y | 纯swift实现的类型安全的SQLite3封装,数据存储和JSON解析是永恒的话题。 |
Fluent | ★1k / Y | 用于在Swift中使用数据库的简单ActiveRecord实现。 |
Zephyr | ★680 / Y | 毫不费力地通过 iCloud 同步 NSUserDefaults。 |
Shallows | ★604 / Y | 轻量级的持久化工具箱。 |
WHC_ModelSqliteKit | ★589 | 专业的数据库存储解决方案. |
MongoKitten | ★582 / Y | 一个纯Swift MongoDB客户端实现,支持嵌入式数据库。 |
Defaults | ★553 / Y | 快速而现代的UserDefaults。 |
Prephirences | ★521 / Y | Prephirences是一个Swift库,提供了有用的协议和便捷的方法来管理应用的偏好设置,配置和应用状态。 |
JQFMDB | ★509 | FMDB的封装,操作简单,线程安全,扩展性强,直接操作model或dictionary. |
Default | ★432 / Y | 现代的 UserDefaults + Codable 接口。 |
RealmObjectEditor | ★422 / Y | Realm Object Editor 是一个可视化编辑器,您可以在漂亮的用户界面中创建 Realm 实体,属性和关系。完成后,您可以保存架构文档以供以后使用,并且可以使用 Swift,Objective-C和Java导出实体。 |
UserDefaultsStore | ★358 / Y | 一种简单且轻巧的方式来存储和检索-合理数量的Codable对象,几行代码就可以搞定 |
Unrealm | ★320 / Y | Unrealm使您可以轻松地将Swift本机类,结构和枚举存储到Realm中。 |
SwiftMongoDB | ★272 / Y | Swift的MongoDB接口。 |
Nora | ★263 | Nora是一个Firebase抽象层,用于处理FirebaseDatabase和firebasetstorage。 |
RealmIncrementalStore.swift | ★225 / Y | RealmIncrementalStore.swift:集 Realm 数据库和 CoreData 对象模型两者优势的 Realm 数据库访问类库。 |
StorageKit | ★211 | 数据存储疑难解答 |
realm-cocoa-converter | ★185 | 该库提供了从各种数据容器格式导入/导出Realm文件的功能。 |
SecureDefaults | ★170 / Y | UserDefaults / NSUserDefaults上的轻量级包装,带有一个额外的AES-256加密层。 |
PersistentStorageSerializable | ★163 / Y | 使用Swift库,可以更轻松地使用磁盘上的系统User Defaults或Property List文件序列化用户的首选项(应用程序的设置)。 |
OHMySQL | ★143 | MySQL C API 的 Objective-C 封装 . |
RealmGeoQueries | ★132 | RealmGeoQueries 使用 Realm Cocoa 简化了空间查询。在没有官方功能的情况下,该库提供了进行邻近搜索的可能性。 |
PersistenceKit | ★115 / Y | 用几行代码将可编码对象存储和检索到各个持久层。 |
TypedDefaults | ★109 | TypedDefaults是一个实用程序库,用于类型安全地使用NSUserDefaults。 |
GKDatabase | ★100 | 基于SQLite3简单封装了下,实现了一行代码解决增删改查等常用的功能!并没有太过高深的知识,主要用了runtime和KVC:请看Demo~ 原理篇请看这里:简书地址. |
MySQL | ★100 / Y | 一个 Swift 针对 MySQL 客户端库的封装, 使得应用可以访问 MySQL 数据库. |
SwiftStore | ★100 / Y | 使用 Swift 基于 LevelDB 的 Key-Value 存储. |
YapDatabaseExtensions | ★88 / Y | 与Swift一起使用的YapDatabase扩展。 |
GDataBase | ★71 | 基于FMDB的ORM数据库存储解决方案. 面向模型和线程安全的API. 一句代码存储,读取.对存储模型无需继承BaseObject. 可自定义多主键,可使用sqlite关键字.可自定义序列化字段等.支持模型黑名单.支持数据库表存储value base64编/解码.对模型无侵入,只需遵守相关协议即可.极大方便项目中使用. |
Storez | ★63 / Y | 安全的,静态类型的,与存储无关的键值存储(具有名称空间支持)。 |
MongoDB | ★52 / Y | 一个 Swift 针对 mongo-c 客户端的的封装, 使得应用可以访问 MongoDB 服务器. |
ObjectiveRocks | ★51 | Facebook RocksDB 的 Objective-C 封装 - 闪存和RAM存储的持久键值存储。 |
PostgreSQL | ★46 / Y | 一个 Swift 针对 PostgreSQL 客户端库的封装, 使得应用可以访问 PostgreSQL. |
RealmWrapper | ★39 / Y | 针对 RealmSwift 安全简单的封装 . |
StorageManager | ★38 / Y | 使用FileManager作为数据库的安全简便方法。 |
Breeze | ★32 / Y | 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud 。 |
GXDatabaseUtils | ★30 | 在FMDB基础上的工具. |
FileMaker | ★30 / Y | 一个 Swift 针对 the FileMaker XML Web 开放接口的封装, 使得应用可以访问 FileMaker. |
OneStore | ★27 | 具有简洁 API 的NSUserDefaults的单值代理。 |
Redis | ★25 / Y | 一个 Swift 针对 Redis 客户端库的封装, 使得应用可以访问 Redis. |
ModelAssistant | ★21 / Y | 一套用于管理Swift中视图和模型之间的交互的优雅类库 |
Akaibu-NSUserDefaults | ★15 / Y | Swift 键/值存储,只需要一行代码就可以对 NSObject 对象进行归档。类的属性会自动映射和归档。 |
PropertyKit | ★13 / Y | 协议优先,iOS、macOS和tvOS的类型和密钥安全Swift属性。 |
FirebaseHelper | ★11 | 适用于 Firebase实时数据库的安全简便的包装器。 |
QuickDB | ★6 | 一行代码就可以存储和检索 Codable ,而且还包括了更多用例. |
iOS 缓存
iOS 缓存相关教程
iOS 缓存相关框架
线程安全、离线且高性能缓存库和框架
地址 | Stars/Siwft | 简介 |
---|---|---|
HanekeSwift | ★5k / Y | 一个轻量级的iOS通用缓存,用Swift编写,特别适合图片。 |
TMCache | ★3.1k | TMCache 是 Tumblr 开源的一个基于 key/value 的数据缓存类库,可以用于缓存一些临时数据或者需要频繁加载的数据,比如某些下载的数据或者一些临时处理结果。 |
Disk | ★2.7k / Y | 一个不错的缓存框架,用于持久化结构、图片和数据。 |
PINCache | ★2.3k | iOS和macOS的快速、无死锁并行对象缓存。 |
YYCache | ★2.2k | iOS的高性能缓存框架,轻量级缓存的最可靠选择。 |
YTKKeyValueStore | ★2.1k | Key-Value存储工具类,说明。 |
Cache | ★2k / Y | 只有缓存的一个框架。 |
Awesome Cache | ★1.2k / Y | 一个用Swift编写的磁盘缓存 |
SPTPersistentCache | ★1.2k | 每个开发者都试图在iOS应用程序生命周期的某个时刻实现缓存,这就是这个框架的目的. |
RocketData | ★628 | 不可变模型的缓存和一致性解决方案 |
SDURLCache | ★608 | URLCache的子类,可以为 iPhone/iPad 应用提供的本地磁盘缓存。 |
Carlos | ★542 | 简单但却灵活的缓存 |
Carlos | ★542 / Y | 一个简单但灵活的缓存 |
mattress | ★512 | 用于iOS Web内容脱机缓存。 |
Track | ★234 / Y | Track是Swift编写的线程安全缓存。由支持 LRU 的 DiskCache 和 MemoryCache 组成。 |
Cache | ★204 / Y | 一个 Swift 缓存 库. |
Cachyr | ★118 / Y | 一个小型 key-value 数据缓存,可用于 iOS, macOS 和 tvOS, 基于 Swift 实现。 |
RuntimeDemo | ★87 | runtime自动归档/解档,源码分析. |
UITableView Cache | ★72 | UITableView单元缓存,用于修复单元实例化时的滚动延迟。 |
MemoryCache | ★59 / Y | MemoryCache 是一个类型安全的内存缓存. |
JLKeychain | ★52 | 快捷使用keychain存储数据的类,使keychain像NSUserDefaults一样工作. |
Johnny | ★35 / Y | 一个基于 Swift 的缓存 |
RENCache | ★27 | 简单方便的缓存 |
MGCacheManager | ★11 | 一个不错的iOS网络缓存管理类。 |
文件操作
使用原生方法操作文件
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
HYFileManager | 一个不错的文件管理操作工具类 HYFileManager is a powerful util based on NSFileManager. |
文件操作其他框架/工具
- 文件管理、文件浏览器、压缩和文件变化的观察器*
地址 | Stars/Siwft | 简介 |
---|---|---|
ZipArchive | ★4.5k | ZipArchive 是一个简单的实用类,用于在iOS和Mac上压缩和解压缩文件。 |
FileKit | ★2.1k / Y | Swift 实现的简单快捷的文件管理工具 |
Zip | ★1.8k / Y | 处理压缩解压缩的 Swift 框架. |
FileBrowser | ★1.4k / Y | 一个强大的基于 Swift 实现的文件浏览器。 |
ZIPFoundation | ★1.3k / Y | 基于Swift实现,轻松处理 Zip. |
ZipZap | ★1.2k | 适用于iOS,macOS和tvOS的 zip文件 I/O库。 |
KZFileWatchers | ★968 / Y | 用于观察本地和远程文件更改的微型框架。有助于构建开发工具。 |
AppFolder | ★929 / Y | AppFolder是一个轻量级框架,可让您设计应用程序容器内目录的友好操作。 |
FileExplorer | ★663 / Y | 强大的iOS文件浏览器,允许用户选择和删除文件和/或目录。 |
FileProvider | ★646 / Y | 在iOS/tvOS和macOS上替换本地、iCloud和远程(WebDAV/FTP/Dropbox/OneDrive/SMB2)文件的FileManager。 |
Ares | ★128 | 实现在 Macs 和 iOS 设备之间零设置P2P文件传输。 |
AMSMB2 | ★76 / Y | 用于连接 iOS的SMB2/3 共享文件的Swift框架。 |
数据结构和算法
算法和数据结构相关教学资料
地址 | Stars/Siwft | 简介 |
---|---|---|
100-Days-Of-iOS-DataStructure-Algorithm | ★816 | 100天iOS数据结构与算法实战. |
LearningMasteringAlgorithms-C | ★548 | 《算法精解:C语言描述》源码及Xcode工程、Linux工程. |
AlgorithmOC | OC算法与数据结构实现. |
算法和数据结相关开源框架
差异,键路径,排序列表和其他常见的数据结构包装器以及类库
地址 | Stars/Siwft | 简介 |
---|---|---|
swift-algorithm-club | ★23k / Y | 基于 Swift 的算法和数据结构,包括针对他们的解释。 |
Dollar | ★4.1k / Y | 一组SWiFi他工具集合,类似于Lo-Dash 或 Underscore.js , Javascript 语言版本对应为 https://www.dollarswift.org/. |
DifferenceKit | ★2.5k / Y | 一个针对 Swift 集合类型快速灵活的,且 O(n) 时间复杂度的,diff 算法库 |
Result | ★2.5k / Y | Swift,为任意操作的成功/失败建模。 |
EKAlgorithms | ★2.4k | 一些常见的算法和数据结构,基于 Objective-C 实现. |
SwiftStructures | ★2k / Y | 基于Swift的,常用数据结构和算法的示例。 |
DeepDiff | ★1.7k / Y | 一个用 Swift 实现的 diff库。. |
BTree | ★1.2k / Y | 基于Swift的快速集合排序框架,使用内存 B树 结构. |
Changeset | ★801 | 从一个集合到另一个集合的最少编辑。 |
Algorithm | ★763 / Y | Algorithm 十一组数据结构的集合,包括一些概率工具集合。 |
Differ | ★534 / Y | 一个Swift库,可生成集合之间的差异和补丁。 |
SwiftGraph | ★532 / Y | 纯Swift中的图形数据结构和工具函数库。 |
Dispatch | ★432 / Y | 基于 Swift 的 Multi-store Flux 实现. |
KeyPathKit | ★351 / Y | KeyPathKit提供了一个无缝的语法来使用类型化的keypaths操作数据。 |
Buffer | ★349 / Y | Swift μ-framework 用户高效的矩阵 diff, 以及单元配置. |
SwiftPriorityQueue | ★297 / Y | 纯Swift实现的优先级队列,基于经典的对模型。 |
Probably | ★266 / Y | Swift概率和统计库。 |
HeckelDiff | ★162 / Y | 一个非常快的 diff 库,基于 Swift. |
Differific | ★123 / Y | 一个快速方便的 diff 框架. |
diff | ★107 / Y | 纯 Swift 中的简单的 diff 库。 |
Pencil | ★79 / Y | 让从文件中读写值更容易了 |
AnyObjectConvertible | ★63 | 可以轻松将您自己的结构/枚举转换为AnyObject。 |
Brick | ★57 | 基本场景和复杂场景的通用视图模型。 |
Dekoter | ★23 / Y | NSCoding 对应于 Swift 的结构类型. |
Monaka | ★21 | 将自定义结构转换为NSData。 |
RandMyMod | ★17 | RandMyMod基于您自己的结构或类创建一个或一组随机实例。 |
OneWaySynchronizer | ★6 | 一个将本地数据与远程源同步的最简单抽象实现。 |
Impeller | / Y | Swift中的分布式值存储框架。 |
时间和日期库处理
- Swift4中对于日期时间的处理(Date、DateComponents、Calendar、DateFormatter、Locale) - 介绍得很全面
- 《Swift 一些时间处理》 - 简单清晰,以及生成农历日期。
- 《Swift 使用 Date 的一点心得》 - 介绍基本功能的使用,,包括日期转换,日期计算等。
- Swift - 获取当前时间的时间戳(时间戳与时间互相转换)
时间和日期相关开开源组件
- 时间 及 NSCalendar 的相关库. 也包括一些时间生成工具,时间选择空间以及 NSTimer 相关工具.*
地址 | Stars/Siwft | 简介 |
---|---|---|
DateTools | ★7k | 简便的 Objective-C 日期和时间工具,很强大的日期工具类 |
SwiftDate | ★5.7k / Y | 非常好用的帮助处理 Date 相关的库。灵活运用了 swift 的重载操作符、扩展等特性,使得时间可以直观的进行算术运算:比较大小,直接加减等。常见的时间也字符串的转换也做了良好的支持。 |
Timepiece | ★2.6k / Y | 一个 Swift NSDate 扩展,比较只管好用。 |
Chronology | ★1.8k / Y | 帮助建立更好的日期/时间的工具库。 |
NSDate-TimeAgo | ★1.8k | 用于NSDate和iOS,Objective-C,Cocoa Touch,iPhone,iPad上的 “以前”,“以后”,“相对日期”或“模糊日期”类别。 |
SwiftMoment | ★1.6k / Y | 一个时间和日历操作库。 |
Schedule | ★1.6k / Y | 一个轻量级提供了 Swift 所缺少的任务调度框架,语法比较人性。 |
SwiftyTimer | ★1.1k / Y | NSTimer 的 Swifty API. |
DateHelper | ★1.1k / Y | Swift 的基于 NSDate 的比较方便的扩展。 |
Time | ★1k / Y | Swift中类型安全的时间计算工具,基于泛型。 |
iso-8601-date-formatter | ★608 | Cocoa NSFormatter子类,用于将日期转换为ISO-8601格式的字符串或从中转换日期。支持日历、周等格式。 |
DatePicker | ★562 | 日期选择器,日期时间选择,时间选择器. |
10Clock | ★523 | 一个漂亮的时间选择控件,灵感来自于iOS10的“就寝时间”计时器。 |
TrueTime | ★405 / Y | 获取不受设备时钟时间变化影响的真实当前时间。 |
Kronos | ★385 / Y | 一套Swift中优雅的NTP日期库 |
Solar | ★356 / Y | 一个用于生成日出和日落时间的 Swift 小型工具库。 |
NVDate | ★179 / Y | Swift4日期扩展库。 |
AnyDate | ★176 / Y | Swifty日期和时间API,灵感来自于Java 8 DateTime API的启发。 |
TimeZonePicker | ★111 | 一个 TimeZonePicker UIViewController ,类似于 iOS 的"设置"应用 |
EmojiTimeFormatter | ★77 | 将日期/时间转化为 emoji 表情。 |
LFTimePicker | ★63 / Y | 自定义时间选择器ViewController,可在Swift中选择开始时间和结束时间。 |
TimePicker | ★13 | 基于平移手势及其速度的可配置时间选择器组件。 |
工具类/语法增强
辅助开发的一些工具类,语法增强库等。
地址 | Stars/Siwft | 简介 |
---|---|---|
YYKit | ★13.5k | YYKit 是一组功能丰富的 iOS 组件,包括 YYModel,YYCache,YYImage 等等很多组件。 |
SwifterSwift | ★8.5k / Y | 提供了 400 多种原生的 Swift4 扩展, 可以大幅提高生产力。 |
BlocksKit | ★6.9k | 让 Objective-C 支持 block 功能,为基础类提供Block支持。 |
libextobjc | ★4.4k | 一个 Cocoa 库,对 Objective-C 编程语言做了功能性的扩展。 |
MMWormhole | ★3.7k / Y | 一个可以在 iOS 应用和扩展之间传递消息的机制。 |
Then | ★3.2k / Y | 一套用户初始化应用程序的语法糖,基于 Swift。 |
iOS-Categories | ★3.1k | ,很是全面的一个扩展。 |
InAppSettingsKit | ★2.9k | 此框架允许将 settings 内置在应用中,而不是进入 iOS 系统的设置APP中。 |
EZSwiftExtensions | ★2.8k / Y | 一组针对 Swift 标准库,Foundation 和 UIKit 的扩展,让你更加简单舒服地编写代码。 |
ObjectiveSugar | ★2.2k | Ruby 风格的 ObjectiveC 附件。 |
Closures | ★1.6k / Y | 其向 UIKit 和 Foundation 中添加了闭包的能力。 |
Underscore.m | ★1.5k | underline.m 是一个小型实用程序库,用于帮助在 Objective-C 中使用常用的数据结构,其使用链式语法来避开无尽的中括号,面向 Objective-C。 |
WhatsNew | ★1.5k / Y | 当用户更新应用程序,WhatsNew 会自动显示新功能的简短描述。 |
RandomKit | ★1.4k / Y | 另一个随机数据生成器,基于 Swift。 |
SwiftTweaks | ★1.3k / Y | 无需重新编译即可调整iOS应用 ! |
SwiftLinkPreview | ★1.1k / Y | 可以从 URL 预览页面,自动获取所有信息,例如标题,相关文本和图像,类似一个爬虫,基于 Swift。 |
Sugar | ★1k / Y | 可以与 Cocoa 搭配的"甜点",支持 Swift。 |
RateLimit | ★920 / Y | 对已有类做的增强,都是经常用的逻辑。 |
BFKit-Swift | ★888 / Y | BFKit Swift 版本。 |
BFKit-Swift | ★888 / Y | 一个基于 Swift 实现的工具集合,包括类、集合类型、扩展等,可以让开发提效,比如,仅通过一个枚举就可以使用 iOS 中的每种iOS字体。 |
VTAcknowledgementsViewController | ★858 | 一个针对 “Acknowledgements”/“Licenses”/“Credits” 的视图控制器,就是通常放在 "关于" 的那些。 |
Pantry | ★851 / Y | Pantry 是一种轻量级的库,可以持久话用户数据,缓存相关对象结构,以供以后检索,适用于低版本的 Swift。 |
ObjectiveKit | ★817 / Y | 针对 Objective-C 的运行时函数提供了对 Swift 友好的 API。 |
BFKit | ★811 | 国外的一个大神写的很好用的功能扩展类库,比较齐全。 |
BFKit | ★811 | 一套针对 Objective-C 的集合类库,可以让开发提效。 |
ReadabilityKit | ★734 / Y | 一个新闻,文章和全文的元数据提取器,像一个爬虫页面解析程序,基于 Swift。 |
YOLOKit | ★665 | Getting square objects down round holes( 让方块透过圆洞 可能是个比喻,没太理解有什么用)。 |
SwiftFoundation | ★619 / Y | 跨平台,面向协议的编程基础库,是对 Swift 标准库的补充。(纯Swift,支持Linux)。 |
Validated | ★604 / Y | 是一个微型框架(大于50行源代码行),可以轻松生成新类型的工具,使您更好地利用Swift的类型系统。 |
AssistantKit | ★555 / Y | 检测 iOS 设备属性、操作系统版本和使用屏幕尺寸的简便方法,基于 Swift。 |
SwiftRandom | ★541 / Y | 一个随机数据生成器,做 Demo 或者 测试的时候比较有用。 |
Eject | ★526 / Y | 可以从 Interface Builder 生成 swift 代码,用来替换 .xib 文件。 |
Retry | ★481 | 有时需要做重试逻辑,那么可以使用这个框架,其可以自定义重试次数。 |
SwiftAI | ★456 / Y | SwiftAI, 智能编写 Swift代码。SwiftAI现在可以从 JSON 生成模型类。支持 Codable 和 HandyJSON。 |
SwiftyUtils | ★426 / Y | 在每个项目中需要的那些所有可重用代码,是对原有数据结构的增强。 |
ios_system | ★401 | 是对 system() 的替代品。 |
Standard Template Protocols | ★387 | 该库尝试使用面向协议的编程来解决iOS应用中一些最常见的重复模式,并减少创建深层,复杂的子类树。 |
DeviceGuru | ★364 / Y | DeviceGuru 是一个简单的库(Swift),用于了解设备的确切类型,例如 iPhone 6或iPhone 6s。 |
MKUnits | ★342 / Y | 一个基于 Swift 的计量单位转换库。 |
ReflectableEnum | ★334 | 通过宏和一组函数为 Objective-C 中的枚举类型引入了反射能力。 |
Scale | ★319 / Y | 一个基于 Swift 的单位转换工具 (可以通过 CocoaPods 获取)。 |
XestiMonitors | ★267 / Y | 一个可扩展的监控框架(针对系统生成的事件),基于 Swift。 |
Kvitto | ★259 | 用于 Apple 应用商店收据验证。 |
AppVersionMonitor | ★253 / Y | 轻松监控 iOS 应用版本。 |
Datez | ★251 / Y | 针对 NSDate 、 NSCalendar 和 NSDateComponents 做了功能增强,基于 Swift。 |
OrderedSet | ★233 / Y | 一个提供了排重且有序的集合数据类型,本质上是 Foundation的NSOrderedSet/NSMutableOrderedSet的Swift 等效项。该集合类型具有快速的查询性能,可以支持通过泛型的强类型输入,因此我们可以在其中存储 Swift 结构和枚举。 |
YAML.framework | ★221 | 基于 LibYAML 的 YAML Objective-C 解析工具。 |
Cent | ★217 / Y | 一套针对 Swift 标准库和类的扩展。 |
SwiftParsec | ★179 / Y | SwiftParsec 是 Parsec 解析器组合器库的Swift端口, 它允许从一组简单的解析器中创建复杂的解析器, 扩展可用的解析器也很容易 |
ZamzamKit | ★168 / Y | 一个微型扩展库,针对标准库,Foundation 和 UIKit 做了扩展。 |
MoyaSugar | ★150 | 针对 Moya 的语法糖, Moya是一个优雅的网络抽象层,但当应用程序变大时,它将变得庞大。 |
Outlets | ★129 | 用户验证 IBOutlet 和 IBAction 连接的函数工具箱。 |
DuctTape | ★125 / Y | 提供一种链式语法糖,用于方便地查找对象的成员属性。 |
FluxCapacitor | ★125 / Y | FluxCapacitor 通过协议和类型别名使实现 Flux 设计模式变得容易。 |
DefaultStringConvertible | ★123 / Y | CustomStringConvertible 的 Swift 实现。 |
ActionClosurable | ★117 / Y | 一个扩展,用来将 objc-style target/action 转成 swifty 闭包。 |
MissionControl-iOS | ★106 / Y | 一个强大的远程配置工具,基于 Swift (适用于多平台 iOS、 watchOS、 tvOS、 macOS). |
XExtensionItem | ★82 | XExtensionItem 小型库,可让 iOS 程序和应用扩展之间更轻松地共享结构化数据。 |
Notificationz | ★73 / Y | 帮助您在 Swift中可以方便地访问 NotificationCenter。 |
VersionTrackerSwift | ★72 / Y | 用来跟踪用户以前安装过的应用程序版本。 |
SwiftSortUtils | ★59 / Y | 该库旨在使 Swift 中的排序更加轻松, 它还允许在 Swift 中重用旧的 NSSortDescriptor 实例。 |
EasyAbout | ★51 | 一种使用设置捆绑包(Settings Bundle)轻松将 CocoaPods 许可和 App版本添加到iOS App的方法。 |
OpenSourceController | ★51 / Y | 一个在应用程序中许可(使用了那些开源库,他们都有不同的开源许可)的最简单方法。 |
OpinionatedC | ★50 | Objective-C 继承更多 Smalltalk 特性。 |
SwiftProvisioningProfile | ★50 / Y | 可将配置文件解析为 Swift 模型。 |
Once | ★40 | Once 可以让你用直观的 API 管理任务的执行次数,有中文文档。 |
App-Update-Tracker | ★23 | 一个简单的库,用户检测应用的 安装/更新 行为, 基于 Objective0-C |
ContactsWrapper | ★20 | 一个 Objective-C 封装,带有的联系人和联系人组。 |
AEAppVersion | ★10 / Y | 一个简单轻巧的应用程序版本跟踪工具,基于 Swift。 |
UnsupportedOSVersionAlert | ★8 | 如果用户使用的应用程序具有不受支持的 iOS版本(例如,iOS Beta),则会通过弹出窗口提醒用户。 |
TimeLord | ★7 / Y | 基于 Swift,可以轻松对 DateTime(NSDate)进行管理。 |
BundleInfos | ★1 | 针对 Bundle 的简单的 getter 方法,可以从 Bundle 中获取信息。 |
布局工具/自动布局
布局相关教程
- 《iOS页面的布局方式》
- 《iOS 常用布局方式之Frame》
- IOS不用AutoLayout也能实现自动布局的类(1)----MyLinearLayout横空出世
- IOS不用AutoLayout也能实现自动布局的类(2)----MyFrameLayout横空出世
- IOS不用AutoLayout也能实现自动布局的类(3)----MyRelativeLayout横空出世
自动布局:
布局相关框架
- 自动布局、UI框架和一系列简化布局结构的工具 *
- Auto Layout Magic - 构建1个场景,让“Auto Layout Magic”为您生成约束! 场景在所有设备上看起来都很棒!
- 当view隐藏的时候也隐藏其autolayout的NSLayoutAttribute - 当view隐藏的时候也隐藏其 autolayout 的 NSLayoutAttribute,从而不用大量的代码工作.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Masonry | ★17.7k | 利用简化的,可链接的和富有表现力的语法来使用 AutoLayout NSLayoutConstraints的功能。一个轻量级的布局框架, 同时支持 iOS 和 Mac OS X, 语法优雅, 帮助开发者快速适配不同分辨率的 iOS 设备 |
SnapKit | ★16.5k / Y | 适用于iOS 和 macOS 的 Swift Autolayout DSL,在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了。如果你使用 Autolayout 布局,Snapkit 就是最好的第三方库。完整的提供了底层的能力。创造性的引入链式编程,让使用起来非常的方便。 |
AsyncDisplayKit | ★13.3k | 是一个 iOS 框架,异步界面渲染库,为极限优化View效果而生,它能够使一个很复杂的用户界面保持平滑和反应灵敏(同时提供 UIView bridge 接口),facebook 出品。 |
YogaKit | ★13.2k | 实现Flexbox的强大布局引擎。 |
FDTemplateLayoutCell | ★9.8k | 自动进行单元布局的模板,用于自动计算UITableViewCell高度 |
PureLayout | ★7.4k / Y | 适用于iOS和macOS自动布局的终极 API — 极其简单,功能强大。 与Objective-C和Swift兼容。 |
Cartography | ★7.1k / Y | 用于 Swift 的声明式自动布局 DSL。 |
SDAutoLayout | ★5.8k | AutoLayout 一行代码搞定自动布局!支持Cell、Label和Tableview高度自适应,致力于做最简单易用的AutoLayout库. |
Neon | ★4.6k / Y | 一个强大的 Swift 可编程的 UI 布局框架。 |
SwiftBond | ★4k / Y | Bond是一个Swift绑定框架,它将绑定概念提升到了一个全新的水平,其简单,强大,类型安全和支持多种范例的。 |
MyLinearLayout | ★3.9k | MyLayout是由Objective-C实现的功能强大的iOS UI框架。它集成了 Android Layout,iOS AutoLayout,SizeClass,HTML CSS float、flexbox 和 bootstrap 的相关功能。 |
TinyConstraints | ★3.4k / Y | 使“自动布局”更适合人类使用的"语法糖" |
LayoutKit | ★3k / Y | LayoutKit是一个用于iOS的快速视图布局库。 |
Stevia | ★2.9k / Y | 一个优雅的视图布局方案 |
Layout | ★2.1k | 一个iOS的声明性UI框架。 |
layout | ★2.1k / Y | iOS 的声明式 UI 框架 |
EasyPeasy | ★1.8k / Y | 让自动布局变得更简单 |
FLKAutoLayout | ★1.5k | 让使用代码做约束更加简便的 UIView 类别。 |
PinLayout | ★1.5k / Y | 快速的 Swift 视图布局控制框架,没有用到自动布局,没有什么"魔术特性", 纯代码, 可以做到完全控制,语法简洁,直观。 |
FlexLib | ★1.4k | FlexLib 是用 Obj-c 语言编写的ios布局框架。 该布局框架基于flexbox模型,这个模型是web端的布局标准。基于flexbox模型,FlexLib提供了强大的布局能力,并且易于使用。 |
UIView-FDCollapsibleConstraints | ★1.1k | 一个AutoLayout辅助工具,最优雅的方式解决自动布局中子View的动态显示和隐藏的问题。第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定. |
FlexLayout | ★1.1k / Y | FlexLayout以简洁,直观且可链接的语法将高度优化的facebook / yogaflexbox 实现封装。 |
TangramKit | ★931 / Y | TangramKit 是一套在Swift3.0语言上开发的iOS界面视图布局框架。它的名字来源于中国古代的玩具七巧板,寓意着可以用简单的功能来构造出各种千变万化且非常复杂的UI界面。 |
WHC_AutoLayoutKit | ★855 | 致力打造使用最简单功能最强大的自动布局开源库. |
SwiftBox | ★812 / Y | Swift中的Flexbox,使用Facebook的css布局。 |
Classy | ★771 | Classy是一个能与UIKit无缝结合stylesheet(样式)系统。它借鉴CSS的思想,但引入新的语法和命名规则,Classy官网,Masonry、Classy、ClassyLiveLayout介绍. |
Façade | ★697 | 可编程的视图布局,一个 autolayout 的替代品。 |
SwiftAutoLayout | ★656 / Y | 一个用于 Autolayout 的轻量级 Swift DSL. |
BrickKit | ★620 | 通过 BrickKit,您可以用一种简单的方式创建复杂且响应迅速的布局,它易于使用和扩展,可以基于此创建自己的组件。 |
Anchorage | ★563 | 一套简化iOS布局代码的运算符和实用程序的集合。 |
Relayout | ★562 / Y | 用于在功能上声明自动布局约束的 Swift 轻量框架。 |
ios-flexboxkit | ★404 | 一个封装了 Flexbox 布局的简单 UIKit 扩展。 |
EasyAnchor | ★404 | 声明式,可扩展的,强大的自动布局库 |
Layoutless | ★381 / Y | 基于 AutoLayout 的简约声明式布局和样式框架。 |
NerdyUI | ★362 | 好用的快速布局 UI 库,适用于 iOS 8 及以上版本. |
MisterFusion | ★315 / Y | 一种用于自动布局的 DSL,另外它有非常清晰但简洁的语法,且可以在Swift和Objective-C中使用。 |
ManualLayout | ★286 | 易于使用且灵活的库,为iOS和tvOS手动布局视图和图层。支持AsyncDisplayKit。 |
ClassyLiveLayout | ★281 | ClassyLiveLayout通过结合Classy stylesheets与Masonry一起使用,能够在运行的模拟器中微调Auto Layout约束实时显示效果的工具,Masonry、Classy、ClassyLiveLayout介绍. |
EZLayout | ★275 | IOS中百分比布局库,自动布局可以goodbye了 |
Cupcake | ★267 / Y | 为iOS创建和布局UI组件的简便方法。 |
Yalta | ★206 | 直观而强大的Auto Layout 库。 |
QuickLayout | ★178 | QuickLayout提供了一种简单的方法,可以轻松地在代码中管理自动布局。 |
Framezilla | ★133 | 一个通过优雅的链式语法封装的框架。 |
Compose | ★125 | Compose是一个帮助您组合复杂动态视图的工具库。 |
Swiftstraints | ★112 / Y | 让 Swift 处理自动布局更轻松。 |
CassowarySwift | ★104 / Y | A Swift port of the Cassowary linear constraint solver(留给网友吧,不知道怎么翻译合适) |
Manuscript | ★78 / Y | 纯 Swift 实现的 AutoLayoutKit. |
Bamboo | ★77 / Y | Bamboo 使自动布局(包括手动布局)更加优雅而简洁。 |
Anchorman | ★77 | 一个自动布局库。 |
Restraint | ★77 / Y | Swift中的最小自动布局方案。 |
SuperLayout | ★52 | 使用超级语法糖简化自动布局。 |
FormationLayout | ★51 | Work with auto layout and size classes easily. |
EEStackLayout | ★48 | 结构化的垂直堆栈布局。 |
CGLayout | ★38 / Y | 基于约束的强大自动布局框架,可以管理UIView(NSView),CALayer和未呈现的视图,注意不是Apple Autolayout的封装。 |
JRSplitVC | ★30 | 自适应布局的 UISplitViewController。 |
AutoLayoutPlus | ★25 / Y | 对 AutoLayout 的一点增强,基于 Swift。 |
FlightLayout | ★22 | 处理手动布局和自动布局之间的平衡, 非常适合处理复杂的动画帧。 |
SugarAnchor | ★20 | 和 NSLayoutAnchor和NSLayoutConstraints 一样,但具有更自然且易于阅读的语法糖, 类型安全,简明易读。 |
Autolayout_Demo | ★19 | 在项目中用自动布局实现的类似抽屉效果. |
SwiftyLayout | ★15 / Y | 轻松处理自动布局和尺寸。 |
SnapLayout | ★10 | 简洁的Auto Layout API,可以链接程序约束,同时轻松更新现有约束。 |
MiniLayout | ★7 | 最小的自动布局便利层,程序约束比较简洁。 |
QLayout | ★2 | AutoLayout 工具集. |
RKAutoLayout | ★1 | AutoLayout的简单包装。 |
数学运算工具
相关教程
相关框架
数学框架,函数和库,可用于自定义操作,统计计算等
地址 | Stars/Siwft | 简介 |
---|---|---|
iosMath | ★1.1k | 一个用来显示漂亮的数学公式的库,支持 LaTeX 。 |
Euler | ★1.1k / Y | Swift自定义数学运算符。 |
Metron | ★1k | Metron是几何函数和类型的大集合,这些函数和类型扩展了CoreGraphics提供的2D几何元素。 |
SigmaSwiftStatistics | ★597 / Y | 统计计算功能的集合。 |
Expression | ★581 | 用于在运行时计算数值表达式的Mac和iOS库。 |
BigInt | ★554 / Y | 纯Swift实现的任意精度算法。 |
VectorMath | ★282 / Y | 实现常见的2D和3D矢量和矩阵功能,对游戏或基于矢量的图形很有用,基于Swift,可以用在 Mac 和 iOS上。 |
SwiftMath | ★169 / Y | Swift的数学框架。 包括:向量,矩阵,复数,四元组和多项式等。 |
Upsurge | ★162 / Y | 一个 Swift 数学库. |
Arithmosophi | ★64 / Y | 一组用于算术和逻辑运算的协议。 |
NumericAnnex | ★63 / Y | NumericAnnex补充了Swift标准库中提供的数学函数。 |
Swift-MathEagle | ★40 / Y | 使数学变得容易的通用数学框架。目前支持函数求解和优化、矩阵和向量代数、复数、大整数和大分书以及一般常用的函数和扩展。 |
Surge | ★5 / Y | 一个使用Accelerate 的Swift库,为矩阵数学,数字信号处理和图像处理提供高性能支持。 |
正则表达式
正则表达式相关文章
- 《swift中的正则表达式》 - 介绍比较详细,例子比较多。
- 《swift中常用的正则表达式》 - 简明扼要
- Swift:正则表达式方法(根据正则表达式从特定字符串中提取数据)
正则表达式框架
地址 | Stars/Siwft | 简介 |
---|---|---|
Regex | ★557 / Y | 一个 Swift 微型框架,提供了基于 NSRegularExpression 的正则表达式类型,让字符串的匹配、替换、提取都很方便,如同砍瓜切菜。 |
Regex | ★290 / Y | swift 的正则表达式解析框架 |
PySwiftyRegex | ★221 / Y | 在 Swift中以类似 Python 方式轻松处理正则表达式 。 |
SwiftRegex | ★119 / Y | 类似于 Perl 语法的正则表达式操作符,基于 Swift. |
Regex | ★70 / Y | 一个 Swift 正则表达式框架,基于 NSRegularExpression 的封装. |
UI组件
UI 设计资源
地址 | Stars/Siwft | 简介 |
---|---|---|
design-resource | ★2.3k | 设计师资源列表. |
UI 设计相关网站
- Dribbble - 设计师必备站点,国内顶尖的设计师都在上面。
- Louie Mantia - apple设计站点,网站提供免费的icon图片和桌面以及UI设计下载和使用。
- Lovely UI - 可爱的UI手机界面设计站点,一个致力于智能手机界面设计作品展示的博客网站,由众多程序界面设计师上传分享出来的,该网站分类详细,用户可以更加分类来查看不同的界面UI设计,要想提高自己的设计能力就需要去取经,该网站就是你取经的必备网站之一。
- UI中国 - 前身为iconfans,是国内专业的UI设计师交流、学习与展示的平台。
- 学UI网 - 一个发布高质量设计教程和分享设计经验的UI学习平台。
- 花瓣网 - 设计师寻找灵感的天堂!图片素材领导者,帮你采集,发现网络上你喜欢的事物。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
UI Parade | ★128 | 灵感UI设计网是一个致力于设计师UI设计作品分享的网站,提供很多有才华的设计师们的优秀作品,帮助设计师们获得UI方面的设计灵感,提供丰富的设计参考案例,同时还提供收费版的在线设计工具。 |
优设 | ★128 | 优秀网页设计联盟(SDC),是有着良好职业交流氛围的网页设计行业联盟。 |
Material Design 系列:
- Material Design - Material Design 官网,Google推出的全新的设计语言,谷歌表示,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。官网
- Material Palette - Material Palette 网站是一个致力于为设计师们提供颜色组合搭配的工具,让设计师轻松的选择自己喜欢的颜色,在线生成Metaerial Design 风格配色的搭配方案,让你从烦乱的颜色中筛选出一条极具创意的颜色组合。
- Material Design Color 全新指南 - 它还允许开发者检查配色方案中任何文字是否清晰可辨。 Google采用了标准方法,该工具根据W3C的“Web内容无障碍指南”对每个方案进行判断。其中很大一部分重点在于开发者可以据此做出设计决策,以确保视觉障碍用户也可以清晰阅读。
设计师导航:
UI 相关可用资源(素材)
APP UI 图标:
- Iconfont - 阿里巴巴矢量图标库, 个人最常用的一个图标下载网站, 自定义尺寸、颜色,SVG、AI、PNG格式,都可自由选择。
- IconStore - 收录许多精致、独特的图标集; 可免费下载,无须注册或登入账号; 图标可用于个人或商业项目,免标注出处或原作者。
- Glyph - SmartIcons出品的一套 SVG 图标。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
material design icons | ★40.3k | Material Design 图表 |
APP 模板素材:
- UPlabs - 有很多免费的素材(图表,整个APP模板等)可以下载。
UI 套件资源
- CodeApp - 收录大量的 UI 组件,主要是有在线预览功能,一目了然,包括OC 和 Swift 的,还有部分 Javascript 的。
- UI4App - APP 开发所使用素材库,有很多免费素材。
- Cocoa Controls(英文) - 适用于 iOS 和 macOS 的开源 UI 组件大全,类似于 CodeApp。
- ComponentKit - 一套类似于 React 的iOS视图框架,Facebook 出品。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-ios-ui | ★10.8k | 一组精心筛选的iOS用户界面/用户体验库列表,有预览截图。 |
QMUI_iOS | ★5.6k | 腾讯出品 QMUI iOS——致力于提高项目 UI 开发效率的解决方案 http://qmuiteam.com/ios |
JXCategoryView | ★4.6k | A powerful and easy to use category view (segmentedcontrol, segmentview, pagingview, pagerview, pagecontrol) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图). |
Awesome App Landing Page | ★235 | 30 秒为 iOS 配置一个落脚页。 |
YXYDashLayer | ★174 | Colorful Rounded Rect Dash Border. |
Awesome-Mobile-UI | ★127 | 一组移动APP的UI组件库,包括iOS和Android,(英文),有截图。 |
Yalantis | 致力于提供世界一流的 Android 和 iOS 应用开发服务, 因一些动画很棒的开源库为大家所熟知。 | |
Material-Controls-For-iOS | Many Google Material Design Controls for iOS native application. | |
Material-Controls-For-iOS | 大神模仿谷歌做的各种各样的iOS原生特效控件,非常全面. |
iOS UI Template/模版
- iOS UI Design Kit
- iOS Design Guidelines
- iOS GUI by Facebook Design Resources
- App Icon Template
- iOS 8 GUI PSD Template
- iOS Design Guidelines
Prototyping/原型
Activity Indicator/动作指标器控件/进度条
- today extension - 用纯代码构建一个Widget(today extension).
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
MBProgressHUD | ★15.6k | 用于显示一个半透明的 HUD,当任务在后台线程结束时可以在上边显示一个指示器或标签。 |
SVProgressHUD | ★12.1k | 一个简洁轻量的 HUD |
NVActivityIndicatorView | ★9.2k / Y | 一组 loading(加载中)的动效和组件。 |
SkeletonView | ★9.1k / Y | 一种比较优雅的准备加载内容方式,用于向用户展示正在发生的事的方式。 |
AwesomeMenu | ★5.1k | 最多人用的Path菜单. |
NJKWebViewProgress | ★4k | 一个针对 UIWebView 的进度控制接口库,可以用此模块为内置浏览器组件添加进度条, 思路很好。 |
M13ProgressSuite | ★3.9k | 用于在 iOS 上显示进度的套件,包含很多工具。 |
PKHUD | ★3.4k / Y | 一个针对 Apple HUD(Apple HUD (Volume, Ringer, Rotation,…)) 的 Swift 重新实现,知识 iOS 8+ 以上的版本。 |
JGProgressHUD | ★2.8k / Y | 一个优雅和简单的进度条 HUD,兼容Swift和ObjC。 |
CMPopTipView | ★2.7k | 自定义气泡View提示框. |
MRProgress | ★2.6k | 针对下拉组件的客户刷进度条的合集 |
DACircularProgress | ★2.4k | DACircularProgress 是 UIView 子类,具有环装进度条效果。 |
FillableLoaders | ★2k | 自定义加载进度UI。 |
FillableLoaders | ★2k / Y | 一个完全可定制的,基于 CGPaths 的进度条件loader,基于 Swift 实现。 |
SwiftSpinner | ★1.9k / Y | 一个标量的动作指示器以及模态告警框,具有模糊半透明效果,扁平化,设计比较大胆。 |
DGActivityIndicatorView | ★1.8k | DGActivityIndicatorView 是使 loading 更好看的好方法,它包含32种不同的样式。 |
ImagePickerSheetController | ★1.5k | 图片或视频选择器(可多选)组件及其示例项目. |
ProgressHUD | ★1.5k | 另一个简单轻量的 HUD,基于 Objective-C |
FeSpinner | ★1.5k | 很多酷炫的加载动画,可以借鉴一下 |
ImagePickerSheet | ★1.5k | 图片或视频选择器(可多选)组件及其示例项目. |
LiquidLoader | ★1.2k / Y | 带有流体效果的 Loader 组件。 |
YLProgressBar | ★1.2k | 是 UIProgressView 的重新实现,基于 Core Graphics 实现,且完全高可定制。 |
ASProgressPopUpView | ★1.2k | 弹出的进度条显示进度. |
KYCircularProgress | ★1.1k / Y | 简单、实用路径可定进程条。 |
MKRingProgressView | ★1k / Y | 一个环形进度条组件,效果类似于 Apple Watch 上的 Activity 这个应用 , 基于 Swift. |
FFCircularProgressView | ★1k | FFCircularProgressView - 一个蓝色圆圈进度条。 |
UAProgressView | ★1k | 很赞 的一个进度指示View. |
ParticlesLoadingView | ★934 | 一个可自定义的 SpriteKit,用于在视图边框上展示动画。 |
MBCircularProgressBar | ★913 | 一个圆形,有动画效果且高度可定制的进度条,可使用 IBDesignable 在 Interface Builder 中进行编辑。 |
Windless | ★897 / Y | Windless 让不可见 loading view 的实现变得更加容易。 |
KDCircularProgress | ★861 / Y | 具有渐变效果的圆形进度条,基于 Swift。 |
MMProgressHUD | ★716 | 设置HUD出现和消失的方式(包括上下、左右、淡入淡出、放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画、动态图片等等),设置HUD出现时的底部覆盖层颜色,等等。总而言之,这是一份集大成的HUD代码. |
AlamofireNetworkActivityIndicator | ★620 | 控制iOS上网络活动指示器的可见性,基于 Alamofire |
GearRefreshControl | ★614 / Y | 一个用户 UIRefreshControl 的自动以动画效果库。 |
WSProgressHUD | ★586 | 一个漂亮的 hud 视图控件。 |
WaveLoadingView | ★579 | iOS 唯一完美的波浪进度加载指示器,实现说明. |
EZLoadingActivity | ★565 / Y | 一个轻量级的 HUD |
MediumScrollFullScreen | ★556 / Y | Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。由此项目感知,作者是一位很注重细节的开发者,他的另外几个菜单类项目也都不错,值得参考,比如:PathMenu, MediumMenu 等. |
Skeleton | ★551 | 一种创建滑动 CAGradientLayer 动画效果的简单方式, 非常适合创建用于加载内容的框架屏幕(就是内容加载中,还没有加载完成的的背景展示效果)。 |
iOS-CircleProgressView | ★471 | 此控件将允许用户使用实例化的代码或界面生成器来创建和渲染圆环进度条视图。 |
BigBrother | ★451 | 自动第为已执行的请求 设置网络可用指示器。 |
STLoadingGroup | ★428 | 一个 loading 视图. |
iOS Circle Progress Bar | ★407 | iOS 的圆形进度条。 |
SDProgressView | ★404 | 简便美观的进度指示器,此系列共有六种样式的进度指示器. |
WeChatFloat | ★394 | 仿微信浮窗功能. |
GradientLoadingBar | ★389 / Y | 一个有渐变动画效果的 loading bar. |
RSLoadingView | ★380 / Y | 一个基于 3D 引擎的加载效果,基于 Swift。 |
JZMultiChoicesCircleButton | ★379 | 三维多选按钮. |
DSGradientProgressView | ★373 / Y | 一个简单且带有动画效果的进度条,基于 Swift。 |
FlexibleSteppedProgressBar | ★349 | 一个美观易用的,可定制的阶段步骤进度条组件。 |
CircularProgressControl | ★334 | 一个环形进度控制条. |
Hexacon | ★324 / Y | 类似于 Apple Watch 上的 SpringBoard 这个应用的内容展示效果。基于 Swift. |
ZZCircleProgress | ★280 | draw rect 实现的圆形进度条。可以使用部分圆弧当做整个进度条,并可以随意设置起始角度及减少的圆弧角度大小. |
SnapTimer | ★271 | Snapchat story 计时器的实现。 |
KYNavigationProgress | ★244 | 一个 UINavigationController 的简单扩展,用于在 UINavigationBar 上显示进度。 |
RHPlaceholder | ★232 | 一个简单的库,可以让你添加类似 Facebook 的加载状态效果。 |
RPCircularProgress | ★224 / Y | 具有 UIProgressView 属性的环形进度条,是 UIView 子类,基于 Swift。 |
GradientProgressBar | ★214 / Y | 一个渐变效果进度条 (UIProgressView). |
StepProgressView | ★214 / Y | 带有标签和形状的步骤进度条,是 UIActivityIndicatorView 和 UIProgressView 很好的替代品。 |
ActivityIndicatorView | ★199 / Y | 一组基于 SwiftUI 的 loading 指示器。 |
RPLoadingAnimation | ★192 / Y | 基于 Swift CALayer 的 Loading 动画。 |
HorizontalProgress | ★180 | 简单的动画水平进度条。 |
BLEProgressView | ★169 | 使用pop实现动画的进度条. |
JDBreaksLoading | ★150 | 一个游戏性质的指示器,弹珠游戏效果,算是比较标新立异了。 |
StatusBarOverlay | ★147 | 当应用失去/获得玩过连接时,自动显示/隐藏“无网网络连接”状态栏,它支持隐藏状态栏和“缺口”的应用程序。 |
PreLoader | ★145 | 一个很有意思的HUD loading ,通过运动污点和固定污点之间的粘黏动画吸引用户的眼球跟踪,能有效分散等待注意力。PreLoader的实现讲解. |
LoopProgressDemo | ★144 | 环形渐变进度条,环形渐变进度条实现. |
LinearProgressBar | ★144 | 受到 Google Material Design 启发的线性进度条。 |
VHUD | ★139 | 一个简单的 HUD. |
IHProgressHUD | ★103 / Y | 简单的 HUD, 线程安全, 支持 iOS, tvOS。 |
Loader | ★100 / Y | 一个胶囊效果的 Loader 指示器,基于 Swift。 |
LinearProgressBar | ★98 | 一个具有多种样式的线性进度条。 |
KSToastView | ★97 | 类 Android-toast 提醒 |
ZFProgressView | ★88 | A simple digit progress view.(version1.3 使用GCD定时器代替NSTimer,避免内存泄露问题). |
KNCirclePercentView | ★81 | 一个自定义动画的圆形进度View. |
MHRadialProgressView | ★79 | iOS 径向动画进度控件。 |
JHProgressHUD | ★79 / Y | 一个简单轻量的 Swift 框架,用于在 iOS 应用中显示 |
SVUploader | ★76 | 一个简单易用的,且美观的文件上传进度条组件。 |
DBMetaballLoading | ★71 / Y | 一个 metaball 效果的 loading 控件, 基于 Swift |
EBuyCommon | ★68 | 1.基于MBProgressHUD实现得图形加载提示方式,及其它标题方式提醒。2.弹窗. |
MKProgress | ★66 / Y | 一个轻量级 ProgressHUD ,基于 Swift 实现。有点像 MBProgressHUD/SVProgressHUD/KVNProgressHUD. |
SendIndicator | ★59 | 有一个指示器。 |
BPCircleActivityIndicator | ★43 | 一个轻量级,还比较好看的动作指示器。 |
ALThreeCircleSpinner | ★42 / Y | 一个脉冲效果的指示器,基于 Swift |
BPBlockActivityIndicator | ★40 | 一个简单美观的加载效果组件,其中的砖块动画效果比较有意思。 |
DottedProgressBar | ★38 | 一个简单、可定制,带有豆点动画效果的进度条。 |
LLSpinner | ★32 | 一个创建全屏指示器的简单方法。 |
TopAlert | ★30 | 顶部提示View. |
KJLoadingDemo | ★14 | 汇集整理一些样式的Loading加载等待动画,封装以及简单调用,使用起来也非常方便快捷,同样你也可以把他作为HUD来使用 |
RetroProgress | ★10 / Y | 90年代风格的复古进度条。 |
SwiftProgressHUD | ★1 / Y | SwiftProgressHUD is a user-friendly pure swift HUD. 支持Cocoapods 及 Carthage. |
ProgressView/进度条
相关教程
相关框架、组件
地址 | Stars/Siwft | 简介 |
---|---|---|
GradientCircularProgress | ★373 / Y | 一个 Swift 中的可自定义进度指示器库。 |
ProgressMeter | ★107 | 在仪表控件中显示进度。通过ProgressMeter,您可以创建自定义注释,这些注释显示在仪表的顶部或底部。 |
Alert & Action Sheet/告警框/提示框/对话框
相关教程
相关框架组件
- ActionSheetPicker-3.0 - 该项目是此前热门项目ActionSheetPicker的新版本,快速复制了iOS 8上的下拉 UIPickerView/ActionSheet功能.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftMessages | ★5.5k / Y | 一个用 Swift 实现的非常灵活的消息栏。 |
TSMessages | ★5k | 在屏幕上方显示通知(比如成功、错误、警告或者消息)视图,很好用。 |
SCLAlertView-Swift | ★5k / Y | 一个漂亮的有动画效果的告警框组件,基于 Swift。 |
Alerts-Pickers | ★4.8k / Y | UIAlertController with TextField, DatePicker, PickerView, TableView 等组件的高级用法。 |
Alerts & Pickers | ★4.8k / Y | 原生 UIAlertController(伴有 TextField, DatePicker, PickerView, TableView 和 CollectionView.) 的高级用法。 |
BulletinBoard | ★4.7k / Y | 在 iOS 上生成和显示位于屏幕下方的的 Card 组件的库。 |
CRToast | ★4.2k | 一个 iOS toast 组件,可以满足你对通知功能的一切需求。 |
JDStatusBarNotification | ★3.8k | 一个简单可定制的通知组件,可以再状态栏显示通知。 |
NotificationBanner | ★3.7k / Y | 一个高可定制的,用于显示内置横幅通知组件的最简单方式。 |
Toast | ★3.6k | 和MBProgressHUD差不多 |
SCLAlertView | ★3.4k | 有特色的对话框. |
XLActionController | ★3.1k / Y | 一个完全可定制、可扩展的 action sheet 控制器,基于 Swift 实现。 |
Toast-Swift | ★2.4k / Y | 一个可以在 UIView 上添加 toast 通知的 Swift 扩展。 |
PMAlertController | ★2.2k / Y | PMAlertController 是一个可定制化的组件,是 UIAlertController 的替代品。 |
PMAlertController.Swift | ★2.2k / Y | 可定制弹窗组件替代官版不可定制的 UIAlertController. |
Jelly | ★2.1k / Y | Jelly 只需几行代码就可以提供自定义的视图控制器转换效果。 |
SweetAlert | ★2k / Y | 一个实时有动效的告警框,基于 Swift ,样式也很漂亮。 |
kxmenu | ★1.8k | kxmenu弹出菜单,点击视图上任意位置的按钮,会弹出一个菜单,并且有个小箭头指向点击的按钮,类似气泡视图。弹出的菜单位置会根据按钮的位置来进行调整. |
IOS7AlertView | ★1.7k | IOS7AlertView的对话框。 |
RKDropdownAlert | ★1.6k | UIAlertView 的一个及其简单的替代品。 |
QBPopupMenu | ★1.4k | QBPopupMenu弹出菜单,实现类似 UIMenuItem 的弹出菜单按钮。点击按钮,会弹出一个菜单,上面可以排列多个按钮。纯代码实现,不需要任何图片. |
AMSmoothAlert | ★1.3k | 一个很 cool 的 AlertView。 |
TYAlertController | ★1.3k | 很好很强大的弹出框,多种样式满足你的需求 |
JLToast | ★1.3k / Y | 一个非常简单的 iOS Toast 组件。 |
RMDateSelectionViewController | ★1.1k | 使用 UIAlertController 之类的方式使用 UIDatePicker 来选择日期。 |
CFAlertViewController | ★1k | 一个可以帮助你显示和定制告警框和 Action Sheet 的库。 |
PopMenu | ★987 / Y | 一个酷炫、且可定制的、具有弹出样式的 action sheet |
CDAlertView | ★962 / Y | 一套高可定制的 alert/notification/success/error/alarm 等组件。 |
BRYXBanner | ★961 / Y | 一个轻量级下拉式通知组件,使用Swift,支持 iOS 7+ 以上版本。 |
TBActionSheet.swift | ★913 / Y | 支持Carthage,可自定义度100%的 ActionSheet,支持微信样式. |
Dodo | ★866 / Y | 一个使用 Swift 实现的消息栏。 |
SwiftNotice | ★809 / Y | SwiftNotice 是一个 Swift GUI 库,用于显示各种弹出窗口和通知。 |
LCActionSheet | ★797 | 一款简约而不失强大的 ActionSheet,微信和微博都采取了极其类似的样式. |
FCAlertView | ★762 | 一个可定制的扁平化的 AlertView,面向 Objective-C。 |
PSTAlertController | ★759 | 兼容 iOS7的 XXAlertController,接口跟UIAlertController 一模一样,做到高低版本通用. |
SPAlert | ★745 / Y | 一个弹出式告警组件,参考了 Apple Music 和 Feedback 的样式,包括"完成"(一个对号图表)和心形效果的呈现。 |
Swift-Prompts | ★741 / Y | 用来设计自定义提示的 Swift 库,有很大的范围可供选择。 |
StatusAlert | ★727 / Y | 类似 Apple 系统的自动隐藏式状态警报,而不会中断用户操作流程。 |
NZAlertView | ★710 | 简单直观的 AlertView。类似推送通知的效果。 |
Loaf | ★676 / Y | 针对 iOS Toasts 的一个简单框架。 |
TAOverlay | ★675 | TAOverlay可通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用自定义图片替换页面上的icon. |
SwiftyDrop | ★667 / Y | SwiftHydrop 是一个轻量级的纯 Swift 实现的简单漂亮的下拉信息组件。 |
WCAlertView | ★639 | 自定义的对话框. |
SwiftOverlays | ★609 / Y | SwiftOverlays 是一个 Swift GUI 库,用于显示各种弹出窗口和通知。 |
NYAlertViewController | ★598 | 高度可定制的 iOS 告警框组件,支持自定义内容。 |
TKSwarmAlert | ★562 / Y | 类似于 Swarm(是个iOS应用)的带有动画效果的告警框组件。 |
RMActionController | ★531 | 以类似 UIAlertController 的方式呈现任何 UIView。 |
GSMessages | ★512 / Y | 一个样式简单的消息/通知组件,支持 iOS 7+ 以上版本。 |
TTGSnackbar | ★496 | 在屏幕底部显示简单的消息和动作按钮,有多种动画效果。 |
CFNotify | ★491 / Y | 一个可定制的库,用户创建可拖拽视图组件。 |
InAppNotify | ★435 / Y | 一个应用内通知的管理工具,基于 Swift,管理方式有点像 WhatsApp, Telegram, Frind 等应用. |
Hokusai | ★426 / Y | 一个提供弹出式 action sheet 的 Swift 库。 |
DOAlertController | ★385 / Y | 一个简单的 Alert 告警框组件,基于 Swift 实现,是 UIAlertController 的替代品。 |
RMessage | ★384 | 一个醒目的应用内通知/消息横幅组件,基于 Objective-C。 |
RMPickerViewController | ★382 | 以类似 UIAlertController 的方式使用 UIPickerView 来选择内容。 |
UICustomActionSheet | ★373 | 通过模糊背景来着重强调与菜单相关的元素--模糊效果 里面已经收藏. |
SimpleAlert | ★364 / Y | 一个简单的、容定制的警报框组件,基于 UIAlertController。 面向 Swift. |
HDNotificationView | ★341 | HDNotificationView 可以模拟 iOS 系统的那种横幅通知的效果。 |
CleanyModal | ★340 | 让你轻松使用友好可定制的告警框和 action sheets, 其接口 API 和原生的 UIAlertController 类似。 |
EZAlertController | ★336 / Y | 一个简单的 UIAlertController 控件。 |
MJAlertView | ★296 | 3D效果转场效果警示图--MJAlertView. |
Malert | ★287 / Y | Malert 是用 Swift 编写的一个简单、易用、可自定义的 iOS UIAlertView。 |
NoticeBar | ★239 / Y | 一个由Swift 3编写的简单通知栏,类似于QQ通知视图。 |
Sheet | ★229 / Y | SHEET 可以帮助你创建各种具有导航功能的 action sheets,可以参考 Flipboard App |
LNRSimpleNotifications | ★204 / Y | 一个简单的应用内通知组件,基于 Swift。 LNRSimpleNotifications 一个简化的 TSMessages Swift 接口。 |
DQAlertView | ★196 | 扁平化的样式不错. |
Alertift | ★179 / Y | 一个现代化的 UIAlertController 封装,基于Swift 5。 |
TOActionSheet | ★176 | 针对原生组件 UIActionSheet 的重新时间,提供了可定制设计功能。 |
CustomizableActionSheet | ★174 | 支持包含自定义视图和组件的 Action sheet。 |
CustomPopOverView | ★168 | 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮的对齐方式:左对齐、居中、右对齐. |
OpinionzAlertView | ★151 | 一款简洁的提醒框 |
HHAlertView | ★150 | 一个简易的alertview 有三种样式,有成功,失败,和警告三种样式,支持Delegate和block两种回调. |
PCLBlurEffectAlert | ★149 / Y | 一个带有 UIVisualEffectView 的 AlertController,基于 Swift。 |
FloatingActionSheetController | ★142 / Y | FloatingActionSheetController 是一个具有酷炫设计的 ActionSheetController,基于 Swift 实现。 |
BPStatusBarAlert | ★129 | 一个简单的告警框,在状态栏上,在导航栏下方,有点像 Facebook 的效果。 |
STModalDemo | ★116 | 弹出视图(通知,提示,选择,窗口). |
FCAlertView | ★109 / Y | 一个扁平化可自定义的 AlertView , (支持 Swift). |
GMenuController | ★109 | 具有和系统UIMenuController行为,交互一致的Menu弹出控件.相比UIMenuController.具有更加友好的使用方式. 支持MenuItem指定target.使用更加灵活,支持更改menuview 外观设置. |
MaterialActionSheetController | ★104 / Y | 一个类似于 Google 的 action sheet,基于 Swift 实现。 |
LCProgressHUD | ★98 | 对MBProgressHUD的简单封装,比较实用 |
LKAlertController | ★92 / Y | 一个简单的 UIAlertController 构建器,基于 Swift 。 |
Notie | ★86 / Y | 基于 Swift 的应用内通知组件,有可自定义的按钮和文本输入表单。 |
ALRT | ★69 / Y | UIAlertController 的一个简单构造函数,可以随时随地发出警报。 |
RAlertView | ★68 | 有AlertView,iOS弹出窗口,是一个弹出式框架,可以简单方便地将其加入您的项目。 |
JDropDownAlert | ★66 | 一个多方下拉向告警框组件,比如左右拉,上下拉,上/下向左/右拉等等。 |
NotchyAlert | ★64 | 利用 iPhone X 缺口来显示有创意的告警控件。 |
KRAlertController | ★52 / Y | 一个 iOS 彩色告警框,支持多种颜色。 |
Menu | ★44 | 项目中可能会用到的常用菜单,以后有时间会继续补充,弹窗. |
AlertViewLoveNotification | ★39 | 一个简单而吸引人的 AlertView 组件,可以在向用户请求推送通知权限时使用。 |
LIHAlert | ★33 | 一个 iOS 高级有动画效果的横幅提醒组件。 |
CCActionSheet | ★28 | CCActionSheet:仿照微信朋友圈自定义actionsheet,一行代码即可使用. |
GSAlert.swfit | ★26 / Y | 苹果在iOS8推出了全新的UIAlertController,旧的UIAlertView和UIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码。GSAlert解决了这个问题. |
OEANotification | ★18 / Y | 一个可自定义的应用内屏幕顶部通知组件,基于 Swift 2.1。 |
PopupViewController | ★17 | UIAlertController 的又一个替代品,支持更多自定义能力。 |
PJAlertView | ★6 | 苹果弃用了原来好用的警告视图,让我们失去了很多的定制性,这个库重新将定制性带回来。 |
CatAlertController | ★5 | 让你像 "老板"一样使用 UIAlertController,其具有简单易用的链式语法。 |
ZFAlertController | ★5 | 一款可高度自定义的弹窗(Alert,ActionSheet),使用方法完全类似UIAlertController |
CuckooAlert | ★5 / Y | Multiple use of presentViewController for UIAlertController.(不确定如何翻译),支持 Swift。 |
Sheet | 可以将视图控制器的工作流程显示为 action sheet,轻量、且无需配置。 |
Popup/弹出框
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftEntryKit | ★4.7k / Y | 一个高可定制的弹出式告警框、横幅等,提供了各种预设配置,用起来很方便,基于纯 Swift 实现。 |
panelkit | ★3.9k / Y | 手势拖动弹出面板视图 A UI framework that enables panels on iOS. |
FloatingPanel | ★3.7k / Y | 易于使用的浮动面板UI组件. |
PopupDialog | ★3.5k / Y | 一个简单可定制的弹出对话框,用于替换 UIAlertControllers 的告警样式,基于 Swift 实现。 |
LNPopupController | ★2.6k | 是一个可让 View controller 变成弹出式 View controller 的库,效果类似于 Apple Music 和 Podcasts。 |
Presentr | ★2.5k | Presentr 是 iOS 8 中引入的 Custom View Controller Presentation API 的简单可定制的封装。 |
STPopup | ★2.4k / Y | STPopup 提供了弹出式的 UINavigationController,面向 iOS 和 MacOS,基于 Objective-C 实现,但兼容 Swift。 |
MMPopupView | ★2.1k | MMPopupWindow 是用来显示所有弹出框的容器,相对直接显示在当前UIWindow上来说,弄个独立的Window出来当容器的会更好,用户只要关注于弹出框本身的表现就行了,面向 Objective-C。 |
Popover | ★1.8k / Y | Popover 是一个气泡式的弹出效果库,用纯 Swift 实现。 |
Pageboy | ★1.5k / Y | 一个简单、易学的 page |
zhPopupController | ★1.4k | 弹出您的自定义视图很容易,支持自定义蒙版样式,过渡效果和拖动手势。 |
QBPopupMenu | ★1.4k | 长按出现复制粘贴等工具view |
MJPopupViewController | ★987 | |
AZDialogViewController | ★726 / Y | 一个高度可定制的告警对话框控制器,是模仿 Snapchat 的告警对话框。 |
HyPopMenuView | ★720 | 模仿新浪微博弹出菜单. |
DXPopover | ★698 | 很赞 DXPopover微信右上角的+点击展示列表效果,弹窗菜单。 |
MIBlurPopup | ★539 | MIBlurPopup 可以让你创建好看的带有模糊背景的弹出框。 |
FFPopup | ★531 | FFPopup 一个轻量级的库,用于将 view 按照弹出式效果呈现。 |
KGModal | ★467 | 模态弹出框,拖入两个文件就可以集成 |
PopupWindow | ★381 / Y | PopupWindow 是另外一个简单的弹出式 UIWindow ,基于 Swift。 |
YCXMenuDemo_ObjC | ★341 | TCXMenu is an easy-to-use menu. |
PopupController | ★300 | 一个可定制的控制器,用于显示临时弹出视图。 |
GTSheet | ★287 / Y | 一个易于集成的解决方案,用于在底部显示 UIViewControllers。 |
SubscriptionPrompt | ★235 / Y | SubscriptionPrompt 是一个UIViewController,顶部有一个旋转木马,底部有许多行。 用 Swift 编写,也兼容 Objective-C。 |
NMPopUpView | ★194 / Y | 一个简单的 iOS 类,用于显示漂亮的弹出窗口。提供 Swift 和 Objective-C 版本。 |
PopupView | ★170 / Y | 一个基于 SwiftUI 的 Toasts 和弹出效果库。 |
MLMOptionSelectView | ★161 | 弹出-选择-展示框. |
DropDownMenu | ★153 | 仿美团下拉菜单,二级菜单. |
LewPopupViewController | ★140 | ios 弹出视图. |
JKPopMenuView | ★126 | 一个简单的弹出菜单 |
SelectionDialog | ★110 / Y | 一个简单选择对话框,支持 Swift 3+。 |
KCSelectionDialog | ★110 | 简单的选择对话框。 |
XTPopView | ★66 / Y | 一个易用的带箭头的View, 可以实现类似于微信添加好友那个View的效果 (包含Objective-C和Swift版本). |
SHPopup | ★36 | SHPopup 是一个简单的轻量级库,用户弹出视图。 |
DOPScrollableActionSheet | ★1 | 多行可滚动的 Action Sheet. |
Badge/徽章/小红点
地址 | Stars/Siwft | 简介 |
---|---|---|
WZLBadge | ★1.8k | 小红点,Badge,支持横竖屏支持iOS5~iOS8允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等。说明. |
UIBarButtonItem-Badge | ★939 | 按钮上的badge提醒数字 |
PPBadgeView | ★760 / Y | iOS自定义Badge组件, 支持UIView、UITabBarItem、UIBarButtonItem ,支持Objective-C/Swift双版本. |
M13BadgeView | ★511 | badge提醒数字 |
BadgeHub | ★509 / Y | 可以让任何 UIView 组件成为带有动画效果的通知组件,这是一个向 UIView 添加通知徽章组件的快速方式。 |
CustomBadge | ★409 | 自定义样式badge提醒数字 |
swift-badge | ★365 / Y | 一个 iOS 上的徽章视图组件,基于 Swift 实现。 |
MIBadgeButton | ★327 / Y | UIButtons 的通知徽章。 |
EasyNotificationBadge | ★191 | UIView 扩展,用户添加一个通知徽章。 |
Button/按钮
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
LiquidFloatingActionButton | ★3.6k | 一个有液态效果的浮动 Action 按钮,受到 Material Design 的启发。 |
DOFavoriteButton | ★3.4k / Y | 一个很可爱的动画按钮,基于 Swift 实现。 |
VBFPopFlatButton | ★3.1k / Y | 一个有 21 种不同状态的扁平化按钮,有动画效果,面向 Swift。 |
BEMCheckBox | ★2.5k | 一个 iOS 上的雅致的复选框(Checkbox) |
hamburger-button | ★2.3k / Y | 一款可爱的动态hamburger-button -- (Swift) |
LGButton | ★2k / Y | 一个基于原生 UIControl 的完全可定制的子类,一行代码都不用写就可以创建一个漂亮的按钮。 |
DownloadButton | ★1.5k | 一个可自定义的 App Store 样式下载按钮。 |
ZFRippleButton | ★1.4k / Y | 可定制动效的 UIButton ,灵感来自于 Google Material Design。 |
FRDLivelyButton | ★1.3k | 类facebook动态按钮. 相同类型的其他按钮 : VBFPopFlatButton / FRDLivelyButton |
WCLShineButton | ★1.3k | 类似太阳动画的按钮,有中文文档。 |
Floaty | ★1.2k / Y | 一个浮动的 Action 按钮,还不错。 |
KCFloatingActionButton | ★1.2k | 简洁的 iOS 浮动操作按钮。 |
DynamicButton | ★1.1k / Y | 另一个有动效的扁平化效果按钮,基于 Swift。 |
TVButton | ★1.1k / Y | 一个针对 Apple Tv 视差效果的重新实现,很酷,基于 UIButtons,用 Swift 实现。 |
TransitionButton | ★962 / Y | 一个 UIButton 子类,用于加载中、动画切换等效果。 |
HTPressableButton | ★856 | 一个扁平化、有触压效果的按钮。 |
PPNumberButton | ★827 | 高仿京东淘宝商品数量的加减按钮,可定制程度较高,使用简单. |
PMSuperButton | ★569 / Y | 可通过 Storyboard 进行自定义的 IButton,非常强大。 |
gbkui-button-progress-view | ★543 | 一个类似于 Apple App Store 下载进度按钮的组件。 |
ButtonProgressBar-iOS | ★460 / Y | 一个简单灵活的 UIButton 子类,具有加载/完整动效。 |
OnOffButton | ★425 / Y | 可以自定义开/关动画 UIButton,基于 Swift。 |
TORoundedButton | ★424 | 一个高性能圆角按钮控件。 |
NFDownloadButton | ★415 / Y | 改进过的下载按钮。 |
HySubmitTransitionObjective-C | ★401 | 带转场动画按钮 |
SwiftyButton | ★399 / Y | 一个简单可定制的按钮,基于 Swift。 |
ZMaterialDesignUIButton | ★345 / Y | Swift Material Design 风格 UIButton. |
SSBouncyButton | ★311 | iOS7 风格的弹性按钮 UI 组件。 |
QQBtn | ★296 | 仿QQ未读消息弹性按钮动画,达到和手机QQ未读信息一样的动画效果,效果基本实现. |
JOEmojiableBtn | ★293 | 一个 Emoji 表情筛选器。 |
LTHRadioButton | ★282 / Y | 一个带有动画效果的单选框组件。 |
BTSimpleRippleButton | ★202 | 按钮点击动态光晕效果 |
LLBootstrapButton | ★190 / Y | Bootstrap 3.0扁平化风格按钮,自带图标,一句代码直接调用. |
EasySocialButton | ★166 | 一个创建漂亮设计媒体授权按钮的简单方法。 |
FloatingButton | ★141 / Y | 基于 SwiftUI 、可轻松定制的浮动按钮菜单。 |
JTFadingInfoView | ★127 | 一个基于 UIButton 实现的视图组件,有淡入/淡出动画效果。 |
Hamburger-Menu-Button | ★113 | 一个高度可定制的汉堡包菜单按钮。 |
CatZanButton | ★101 | 动态 '赞' |
DesignableButton | ★92 | 一个具有集中、可重用样式的 UIButton 子类,可以实时查看样式,并可以在 InterfaceBuilder 中自定义! |
ExpandableButton | ★85 / Y | 一个可自定义、易于使用的可扩展按钮,基于 Swift |
WYMaterialButton | ★81 | 具有 Material Design 动画效果的、可交互的按钮。 |
EMEmojiableBtn | ★80 | 也是一个表情筛选器,基于 Objective-c 。 |
AnimatablePlayButton | ★75 | 一个有动效的播放/暂停按钮,基于 CALayer 和 CAKeyframeAnimation。 |
MultiToggleButton | ★70 / Y | 一个 UIButton 子类,实现了点击切换文字的按钮,支持 Swift。 |
MVMaterialView | ★67 | 用来模仿 Material Design 概念波纹(Ripple)效果 UI 控件的子类和 UIButton。 |
JSButton | ★11 | 另一个基于原生 UIControl 的完全可定制的子类,一行代码都不用写就可以创建一个漂亮的按钮。 |
SpicyButton | ★1 | 功能齐全的 IBDesignable UIButton 类 |
SDevCircleButton | / Y | Swift 实现的圆型按钮。 |
SDevBootstrapButton | / Y | Swift 版的 Twitter Bootstrap 按钮。 |
Segmented Control/分段切换按钮/节选器
相关教程
开源组件参考
地址 | Stars/Siwft | 简介 |
---|---|---|
HMSegmentedControl | ★3.7k | UISegmentedControl 的直接替代品,模仿了Google Currents 和其他各种 Google 产品中使用的分段控件的样式。 |
TwicketSegmentedControl | ★1.6k / Y | 一个自定义的 UISegmentedControl 梯度品,基于 Swift 实现的。 |
BetterSegmentedControl | ★1.4k | 一个易用的、针对 UISegmentedControl 和 UISwitch 替代品。 |
SJFluidSegmentedControl | ★844 / Y | 一个具有自定义外观和交互式动画的分段控件,基于 Swift 3.0 编写。 |
PinterestSegment | ★532 / Y | 一个具有遮罩动画的类似 Pinterest 的细分控件。 |
AKASegmentedControl | ★395 | 一个完全可定制的iOS分段控件。 |
LUNSegmentedControl | ★326 | 一个具有交互式动画的可定制分段控件。 |
DynamicMaskSegmentSwitch | ★308 | 一个具有动态文本蒙版效果分段式切换器 |
MultiSelectSegmentedControl | ★148 / Y | 向 UISegmentedControl 添加多重选择功能。 |
YUSegment | ★114 | 一个 iOS的可自定义分段控件,同时支持文本和图像。 |
Switch/开关按钮
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
RAMPaperSwitch | ★2.8k / Y | RAMPaperSwitch 是一个 Swift 模块,用于当打开时绘制父组件的样式。 |
DGRunkeeperSwitch | ★1.9k / Y | 有自动滑动切换效果的 Switch 开关控件,适合两段式控件,基于 Swift 2.0。 |
AIFlatSwitch | ★889 | 一个针对 UISwitch 的具有扁平化风格的替代品。 |
TKSwitcherCollection | ★817 | 一组带有动画效果的开关组建合集。 |
SevenSwitch | ★780 | 一个 UISwitch 的非侵入式替代品,基于 iOS7 的风格。 |
LLSwitch | ★580 | 一个有趣的switch. |
ViralSwitch | ★341 | 一个 UISwitch,可以通过其色调来影响上一级视图的颜色。 |
JTMaterialSwitch | ★304 | 一个可自定义的开关 UI,具有波纹效果和弹跳动画,灵感来自于 Google Material Design. |
AnimatedSwitch | ★242 / Y | 一个 UISwitch 扩展,用户将组建颜色绘制到期父组件上,基于 Swift。 |
Switcher | ★207 / Y | 一个可自定义的 UISwitcher,当状态改变时伴有动画效果,基于 Swift。 |
Switch | ★124 / Y | 一个基于 Swift 实现的开关控件,完全支持 IB(Interface Builder)。 |
PMZSwitch | ★103 | 另一个带有动画的开关。 |
TWControls.swift | ★52 / Y | 简单的开关和按钮控制器,使用闭包来执行由控件触发的操作。 |
HHFlashSwitch | 一个另类的UISwitch,选择后,背景水波扩散变色效果。 |
Calendar/日历控件
相关教程
相关开源组件
地址 | Stars/Siwft | 简介 |
---|---|---|
FSCalendar | ★8.9k / Y | 一个完全可自定义的 iOS 日历,同时兼容 Objective-C 和 Swift。 |
JTAppleCalendar | ★6.6k / Y | 一个类似 Apple Calendar 的非官方实现,基于 Swift,除了 iOS,也可用于 tvOS上。 |
CVCalendar | ★3.3k / Y | 使用 Swift(2.0)编写的自定义可视日历,支持 iOS 8+ 以上版本 。 |
CVCalendar | ★3.3k | 是一个方便开发者集成自定义日历视图到自己 iOS 应用的项目, 支持 Storyboard 和手动配置, 使用 CocoaPods 进行安装, 提供了丰富的 API 供开发者使用. |
JTCalendar | ★2.7k | 一个可自定义的 iOS 日历组件,支持 Objective-C |
MSCollectionViewCalendarLayout | ★2k | MSCollectionViewCalendarLayout是一个UICollectionViewLayout子类,用于显示按时间顺序排列的数据。 |
PDTSimpleCalendar | ★2k | 一个基于 UICollectionView 的iOS简单日历/日期选择器 |
DateTimePicker | ★1.7k / Y | 一个更好的 iOS UI 组件,可用于选择日期和时间,不是日历方式,是滚动方式。 |
CalendarKit | ★1.4k / Y | 一个完全可定制的日历组件,支持备忘功能,支持 Swift。 |
GLCalendarView | ★869 | 一个完全可自定义的日历视图组件,可以用作日期范围选择器 |
RSDayFlow | ★835 | 具有无限滚动功能的日历,支持 iOS 7+ 以上版本。 |
Koyomi | ★697 / Y | 一个简单的日历组件,基于 Swift。 |
Daysquare | ★695 | 一个优雅的日历控件。 |
Calendar | ★666 | 一组用于显示和安排事件视图/控制器,不仅仅是日期,有点像带日历的备忘录。 |
MBCalendarKit | ★558 / Y | 一致支持自定义和本地化的 iOS 日历框架, 也支持 IBDesignable, Autolayout,支持 Swift 和 Objective-C |
SRCountdownTimer | ★395 / Y | 一个圆形倒计时View |
KDCalendarView | ★386 / Y | 基于 Swift 4.0 实现的 iOS 日历组件。 包括水平和垂直样式(滚动)的布局,也可以显示原生的日历事件。 |
MSSCalendar | ★294 | A simple iOS Calendar 高性能日历控件(类似去哪网). |
ASCalendar | ★193 / Y | 使用 mvvm 模式编写的iOS日历控件,基于 Swift。 |
CalendarPopUp | ★182 | 一个简单的基于 JTAppleCalendar 的库。 |
ios_calendar | ★155 | 一个轻量级的日历控件,支持 Locale(本地化)和 CalendarIdentifier,有弹出(popover)效果,也支持波斯日历,只支持 Objective-C。 |
RCalendarPicker | ★117 | RCalendarPicker 是一个日期选择器组件,包括日历控件 ,日历选择控件,日历,日期选择,还有时钟选择控件,样式有点像挂历,除了日历意外,有个大大的当日日期UI。 |
FDCalendar | ★116 | 一个 iOS 自定义的日历控件。 |
HYYCalendar | ★93 | 一个简单易用的日期的选择的控件,支持日历选择和Picker选择两种方式。支持iOS 6+. |
NWCalendarView | ★61 | 一个 iOS 日历控件,允许选择单个日期或日期范围,还可以禁用不可用日期。 |
PTEventView | ★34 / Y | 一个基于日历的事件备忘录,支持 ARC、Autolayout,可以通过 StoryBoard 编辑。支持 Swift 3.0 以上的版本。 |
GDPersianCalendar | ★29 | 一个可自定义且易用的波斯日历组件,明显的阿拉伯风格。 |
ZFCalendar | ★11 | 类似去哪儿中的日历控件,显示农历,农历节日,公历节日,公历日期 |
ZYCalendar | 一个iOS端高度可定制化的日历视图 |
Timeline/时间线
地址 | Stars/Siwft | 简介 |
---|---|---|
TimelineTableViewCell | ★1.1k / Y | 一个基于 UITableViewCell 实现的简单时间轴组件,基于 Swift 3.0. |
DFTimelineView | ★440 | DFTimelineView仿微信朋友圈 时间轴. |
TimelineCards | ★409 / Y | 以卡片形式呈现时间线(Timeline)的组件,可以以单个/多组卡片的形式显示在 Feed 流中,支持 Swift。 |
Cards/卡片控件
- 包括基于卡片的 UI组件,以及相关平移手势,翻转、滑动等动画效果。*
地址 | Stars/Siwft | 简介 |
---|---|---|
Koloda | ★4.7k / Y | 类似 Tinder 中卡片的效果的简单实现,支持 Swift。 |
Cards | ★3.8k / Y | 类似于 iOS 11 AppStore 的卡片视图组件。 |
MDCSwipeToChoose | ★2.6k / Y | 通过左右侧滑就可以实现"喜欢"还是"不喜欢"的功能,也可以当做照片查看器组件,可以帮助你在几分钟之内实现卡牌效果的应用程序。 |
CardParts | ★2.1k / Y | 一个基于 UIKit 响应式卡片 UI 框架,卡片组件很多(比如卡片式表单,卡片式地图,卡片式按钮。。),还带有例子程序,支持Swift。 |
CardAnimation | ★1.1k / Y | 一个卡片翻动效果,通过平移手持进行操作。 |
TisprCardStack | ★770 / Y | 一个卡片 UI 库,基于 UICollectionView ,可定制、可侧滑、栈形式,支持 Swift 3 以上版本。 |
VerticalCardSwiper | ★700 / Y | 一个类似 Shazam Discover UI 和 Tinder 和两个 APP 的结合, 基于 UICollectionView,支持Swift。 |
CardsLayout | ★614 / Y | 一个精心设计的、轻量级的、可自定义的视图卡片布局,更像是一个容器,只有一个 Swift 类。 |
MMCardView | ★511 | 类似于 Wallet 效果的自定义 CollectionView,有点想 iOS 卡包的效果。 |
Shuffle | ★422 | 一个受Tinder启发的多向刷卡容器框架。 |
DMSwipeCards | ★239 | 另一个类似于 Tinder 效果的卡片栈,支持延迟加载和泛型。 |
KVCardSelectionVC | ★19 / Y | 一个很好看的拨号卡片效果(类似于老式带圆盘的拨号电话)的 ViewController,支持 Swift。 |
Form & Settings/表单及设置控件
- 包括输入验证,表单助手,表单构建器等等。*
地址 | Stars/Siwft | 简介 |
---|---|---|
Eureka | ★10.7k / Y | 一个优雅的表单构建器,纯 Swift 实现,是 XLForm 的 Swift 版本。有中文文档,和一些灵活自定义的操作符。 |
XLForm | ★5.7k / Y | XLForm 是创建动态表格式表单的一个最灵活强大的库,其目标是用1/10的时间构建相同形式的手工表格。同时兼容 Swift 和 Obj-C. |
SwiftForms | ★1.3k / Y | 一个简单、轻量的 Swift 库,用于简化表单构建操作,支持 Swift。 |
SwiftValidator | ★1.3k / Y | 基于规则的 Swift 表单验证库。 |
Former | ★1.2k / Y | Former 是一个完全可定制的 Swift2 库,旨在简化基于 UITableView 表单的构建,支持 Swift。 |
MZFormSheetPresentationController | ★976 / Y | MZFormSheetPresentationController 提供了一个原生 iOS UIModalPresentationFormSheet 的替代品,添加了对 iPhone 的支持,并且可以自定义 controller 的尺寸和表单的外观。 |
SwiftyFORM | ★855 / Y | SwiftyFORM 是一个基于 Swift 实现的表单框架。 |
ValidatedPropertyKit | ★566 / Y | 一个使用 Property Wrappers 来校验属性的简单方式。 |
formvalidator-swift | ★495 / Y | 一个用于验证文本域表单的框架, 使用方式很简便,支持 Swift。 |
YALField | ★478 | 一个带有校验功能的自定义表单组件。 |
YALField | ★478 | 使用 interface builder 更容易地创建表单 UI。包含带合法性验证的自定义字段。 |
GenericPasswordRow | ★175 / Y | 一行代码就可以实现 密码校验,基于 Eureka,支持 Swift |
Formalist | ★151 / Y | 一个 iOS 声明式表单构建框架,支持Swift |
ATGValidator | ★36 / Y | 一个基于规则的表单验证框架,用于解决验证用户输入数据时遇到的最常见问题,支持 Swift。 |
ValidationToolkit | ★29 / Y | 一个基于 Swift 实现的轻量级输入验证框架。 |
Form | ★19 / Y | 在 iOS 上构建表达的最灵活、最强大的方式,可以通过 JSON 来定义表单,支持 Swift 和 Objective-C。 |
Label/文本标签控件
相关教程
文本标签框架
地址 | Stars/Siwft | 简介 |
---|---|---|
TTTAttributedLabel | ★8.6k | 一个 UILabel 的替代品,支持属性字符串,数据检测,以及链接等。 |
LTMorphingLabel | ★7.3k / Y | 一个优美的、可以变形的 UILabel,基于 Swift 实现,动画效果也比较多。 |
ActiveLabel.swift | ★3.4k / Y | 一个 UILabel 的替代品,支持 (#), Mentions (@) and URLs (http://) 等符号,支持 Swift。 |
ZCAnimatedLabel | ★2.3k | 一个 UILabel 替代品,有细粒度的出现、消失效果,可以让文字逐个带动效显示或消失。 |
RQShineLabel | ★1.9k | 类似于 Secret 这个应用文本动画,让文本中的字随机地淡入效果,面向 Objective-C 。 |
TOMSMorphingLabel | ★1.9k | 可以在标签和文本值之间配置变形过渡效果。 |
UICountingLabel | ★1.7k | 为 UILabel 添加了计数动画效果。 |
NumberMorphView | ★1.5k / Y | 用于显示数字的标签视图,可以使用称为数字补间或数字变形的技术来过渡或设置动画效果,简单所就是数字变化时有变形动画。 |
MZTimerLabel | ★1.5k | 一个方便使用的 iOS 类,可以将 UILabel 用作倒数计时器或秒表,面向 Objective-C。 |
GlitchLabel | ★946 / Y | 一个类似于"抖音" Logo 效果的 UILabel。 |
Preloader.Ophiuchus | ★868 | 一个自定义标签,可将动画应用于整个文本或单个字母,效果还是挺酷的,面向 Objective-C。 |
CountdownLabel | ★644 / Y | 一个带有变形动画效果的简单倒计时 UILabel,以及一些有用的功能。 |
THLabel | ★626 | 一个 UILabel 子类,有一些特效,包括模糊阴影,内阴影,笔触文本,渐变填充等。 |
PPCounter | ★446 | 一款简单实用的数字加减动画,支持UILabel、UIButton显示. |
TriLabelView | ★150 / Y | 一个三角形的角标组件,基于 Swift。 |
MTLLinkLabel | ★77 / Y | 一个可以带连接的 UILabel,基于 Swift 实现。 |
IncrementableLabel | ★72 / Y | 一个可以递增计数的标签,适用于 iOS、 macOS 和 tvOS. |
STULabel | ★63 | 一个比 UILabel 更快的标签,支持异步渲染,可以和 UIDragInteraction 连接,灵活的文本阶段,自动布局,支持 UIAccessibility 等等。 |
SlidingText | ★49 / Y | 一个类似于页面滑动指示器一样的 UIView,可以侧滑,基于 Swift 。 |
NumericAnimatedLabel | ★26 / Y | 一个 Swift UIView 组件,用户现实按照一定步长递增/递减的数字,有动画效果,对于现实货币类型的数字很有用,比如股票、拍卖价格等。 |
AnimatedMaskLabel | ★14 | Animated Mask Label 是一个很好的带有渐变效果的标签, 也可以让你在任何视图中添加闪光特效。 |
JSLabel | ★5 / Y | 一个简单但精心设计过的 UILabel,支持 IBDesignable 和 Blinking 特性,基于 Swift。 |
搜索框
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
PYSearch | ★3.7k | 非常赞的一个搜索控件。 |
CYLSearchViewController | ★176 | 模仿iPhone短信聊天里的搜索框样式,点击搜索后,搜索框平滑移动到导航栏上. |
search | ★1 | 搜索历史标签. |
CustomSearchBar | 自定义searchbar,类似于instagram的搜索框效果。 |
Menu/菜单控件/侧滑菜单/抽屉
相关教程
相关框架
- 类似美团的下拉选项 - 类似于美团、大众点评的下拉菜单选项,code4app代码,评论代码有瑕疵.
- tabbar图标动画 - tabbar上图标的动画实现,源码推荐说明。
- UIWebView翻页返回效果 - UIWebView翻页返回效果(变通方法).
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
RESideMenu | ★7.2k | 一个iOS 7/8 样式的侧边栏参考,主要收到 Dribbble 启发,有视觉差效果,面向 Objective-C |
MMDrawerController | ★6.8k | 轻便、易用、侧抽屉式导航控制器 |
ViewDeck | ★5.4k | 一个类似于 Path 2.0 或 Facebook 中的滑动效果的实现,支持左菜单和右菜单,并通过编程和用户手势管理侧菜单的显示,很强大,可能需要根据自己的实际业务需求做出相应的改造。面向 Objective-C。 |
PageMenu | ★5.1k / Y | 一个可以放在任何滚动视图中的分页菜单。 |
SWRevealViewController | ★4.6k | 受到 FaceBook 和 Wunderlist 应用启发的 UIViewController 子类,用于显示侧滑的视图控制器。 |
SideMenu | ★4.6k / Y | 一个基于 Swift 的简单侧边菜单控件,主要受Facebook启发。支持防止左右两侧,有许多自定义和动画选项。可以在 Storyboard 中使用,而无需代码。 |
ECSlidingViewController | ★4.4k | 侧滑菜单. |
PKRevealController | ★3.9k | 安装简便,高度定制且对手势识别良好。可以当做一个标准控件用在iOS SDK中。 |
Persei | ★3.3k / Y | 针对 UITableView / UICollectionView / UIScrollView 的顶部滑动菜单(有动画),基于 Swift 实现。 |
MSDynamicsDrawerViewController | ★3.3k | 一个容器视图控制器,它利用UIKit动态来提供真实的抽屉导航范例。 |
CircleMenu | ★3.2k / Y | 一个有动画的,多选项的菜单按钮。 |
SlideMenuControllerSwift | ★3.2k / Y | 一个有幻灯片效果的侧滑菜单,基于纯 Swift 实现。 |
JASidePanels | ★3.1k | 侧滑菜单,有左右菜单,有pop功能,支持手势侧滑,本人使用中:简单. |
GuillotineMenu | ★2.8k / Y | 一个"断头台"(镰刀)式动效的菜单。 |
Side-Menu.iOS | ★2.7k | 支持自定义 UI 的、有动画的侧滑菜单 |
SideMenu | ★2.7k / Y | swift实现,一款带动画效果可定制 Slide Menu,可以学习其动画实现思路。P.S. 对于Hamburger式菜单,虽然很常用,不过,苹果并不鼓励使用,甚至有开发小组对其弊病用自家上线应用前后数据对比进行了抨击。 |
BTNavigationDropdownMenu | ★2.5k / Y | 一个基于 Swift 编写的再导航条下方的下拉菜单,用以在用户单击导航标题时显示相关项目的列表。 |
PagingMenuController | ★2.4k / Y | 有可定制的菜单的分页视图控制器,Swift 实现。 |
Parchment | ★2.2k / Y | 一个具有高度可定制菜单的分页视图控制器, 基于 UICollectionView 构建,支持自定义布局和无限数据源。 |
RNFrostedSidebar | ★2.2k | 侧边栏 Menu |
DropDown | ★1.9k / Y | 一个 Material Design 风格的 iOS 下拉菜单。 |
Context-Menu.iOS | ★1.9k | 您可以轻松地将有动画上下文菜单添加到您的应用程序中,可以布置在上下左右任意位置。 |
KYGooeyMenu | ★1.9k | 一个不错的粘稠效果菜单,有中文文档,面向 Objective-C。 |
ENSwiftSideMenu | ★1.8k / Y | 一个简单的侧滑菜单,支持 7/8+,基于 Swift。 |
DOPDropDownMenu | ★1.7k | 一款实用的下拉列表 |
iOS-Slide-Menu | ★1.6k | 能够类似Facebook和Path那样弹出左右边栏侧滑菜单,还支持手势。多种可以自定义的属性 (非常不错). |
Panels | ★1.3k / Y | 一个面板框架,可以轻松地向您的应用程序添加滑动面板。 |
IGLDropDownMenu | ★1.2k | 一个 iOS 下拉菜单,具有漂亮的动画,且易于定制。 |
YNDropDownMenu | ★1.2k / Y | 可爱的iOS下拉菜单,基于 Swift3。 |
SideMenuController | ★1.1k / Y | 一个侧滑菜单控制机,基于 Swift 实现,可以在中心面板中显示主要内容和次要内容(选项菜单,导航菜单等) |
PagingKit | ★928 / Y | PagingKit 提供了可自定义的菜单 UI,它的布局和设计比其他库更灵活。 |
DCPathButton | ★917 | Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动. |
FlowingMenu | ★917 / Y | 一个交互式动效库,用来以反弹和流动效果来显示菜单,基于 Swift。 |
PopMenu | ★902 / Y | 一个弹出式菜单(有动画效果),主要受到新浪微博和网易APP的启发。 |
ContextMenu | ★889 | 一个类似于 Things 3 的上下文菜单,有点像 ActionSheet。 |
FlipBoardNavigationController | ★859 | FlipBoardNavigationController. |
FAPanels | ★822 / Y | FAPanels 有一些过度效果,基于 Swift。 |
SwipeMenuViewController | ★802 / Y | 可滑动的选项卡、菜单View、ViewController。 |
SloppySwiper | ★784 | iOS系统自带的UINavigationController要7.0才支持,但不过该手势只能从屏幕左侧边缘识别,如果要扩大到整个屏幕范围怎么办?配合一个SloppySwiper无需代码就可以轻松实现。此库支持iOS5.0以上版本(另外:Nav的title滑动不明显,本人写了2个类似的控件),SloppySwiper-demo :代码方式与storyboard方式。 |
cariocamenu | ★764 | 最快速的无点击菜单,通过滑动手势进行选择。 |
MenuItemKit | ★720 / Y | 一个带有图片和block(闭包)的UIMenuItem。 |
SwiftPages | ★649 / Y | 高可定制类似 Instagram 视图滑动切换功能类库。API 简单、易用。 |
GHSidebarNav | ★622 | 现在比较流行使用侧开(侧滑)菜单设计。试了不少控件,感觉GHSidebarNav最成熟,尤其对纯代码创建的界面兼容性最好。在Storyboard中使用GHSidebarNav侧开菜单控件. |
InteractiveSideMenu | ★617 / Y | 用 Swift 3 编写的可自定义的 iOS 交互式边菜单。 |
SSASideMenu | ★606 / Y | RESideMenu 的 一个使用 Swift 实现,带有 iOS 7/8 视觉差效果的侧滑菜单。 |
LLSlideMenu | ★594 | 一个弹性侧滑菜单,当菜单没有完全拉出时,有回弹效果,面向 Objective-C。 |
HACursor | ★593 | 帮助开发者方便集成导航指示器,用于管理视图页面. |
SPLarkController | ★587 / Y | 带有按钮和开关的 Settings(设置) 界面 |
VHBoomMenuButton | ★566 / Y | 一带有 BOOM 效果的菜单,炸出式动效,不过不仅仅是这一种动效,兼容 Objective-C 和 Swift。 |
FanMenu | ★527 / Y | 基于 Macaw 的环形的菜单(就像名字一样,有点像电风扇),支持多种布局。 |
AirBar | ★518 / Y | 一个基于 UIScrollView 的扩展菜单,基于 Swift 3 实现。 |
MKDropdownMenu | ★508 | 一个适用于 iOS 下拉菜单,具有许多可自定义的参数,可以满足任何需求。 |
KGFloatingDrawer | ★499 | 侧滑菜单,qq类似,KyleGoddard/KGFloatingDrawer:一款适合于大屏手机或平板的浮动抽屉式导航界面组件。效果很赞- 侧开菜单,qq类似(与RESideMenu类似). |
MLTransition | ★455 | iOS7+, pop ViewController with pan gesture from middle or edge of screen. |
ScreenShotBack | ★444 | 全屏返回,截图手势返回,景深效果,类似斗鱼、天天快报、腾讯新闻等APP的手势返回. |
FrostedSidebar | ★437 / Y | 汉堡包样式(主要指菜单按钮像汉堡包)的菜单,使用Swift实现,基于 iOS 8 API。 |
JSDBanTangHomeDemo | ★430 | 真正的仿半塘首页效果,半糖首页核心技术解析. |
ExpandingMenu | ★422 / Y | ExpandingMenu 是一个 iOS 菜单按钮,基于 Swift 实现,有点像 AddThis 的移动端分享按钮风格,既按钮裂变风格。 |
CircleBar | ★416 / Y | 一个有趣、易用的选项卡导航。 |
XXXRoundMenuButton | ★376 | 一个简单的环形菜单。 |
CategorySliderView | ★362 | 一个用于选择类别的滑块视图,可以添加任何 UIView 类型作为类别项目视图,且完全可定制 |
MediumMenu | ★325 / Y | 类似于 Medium 应用的菜单。 |
iOS DropDown | ★323 / Y | 基于 Swift 实现的下来菜单组件。 |
RadialMenu | ★293 / Y | RadialMenu 是一个自定义控件,提供了基于 Swift 和 POP 构建的触摸上下文菜单(如iOS 8 中的 iMessage 记录),就是那种一个按钮分裂出多个按钮菜单。 |
SwiftyMenu | ★289 / Y | 一个适用于 iOS 的简洁优雅的下拉菜单。 |
Dropdowns | ★244 / Y | 一个 Swift 实现的下来菜单。 |
DropDownMenuKit | ★238 / Y | 一个简单、模块化、高度可定制的 UIKit 菜单,可以附加到导航栏或工具栏,基于 Swift编写。 |
ZTPageController | ★196 | 模仿网易新闻和其他新闻样式做的一个菜单栏,栏中有各自的控制器。 不建议用VC做展示,具体可以参考我最近写的. |
AZDropdownMenu | ★195 | 一个实现下来菜单(带有图片)的简单方式。 |
AKSideMenu | ★189 | 一个漂亮的 iOS 侧滑菜单库,有视差效果。 |
DTPagerController | ★176 / Y | 一个高可定制的容器视图控制器,可在水平滚动条中显示 ViewController 集合。 |
VLDContextSheet | ★172 | 类似于 Pinterest iOS 应用中,上下文菜单,也是一个按钮裂变式菜单。 |
RHSideButtons | ★154 / Y | 针对 Android (Material Design) 浮动按钮的 iOS 实现,可以为你的应用添加角落带单,基于 Swift。 |
KWDrawerController | ★144 / Y | 一个易于使用抽屉视图控制器。 |
IGCMenu | ★130 | 一个带动画的网格及环形菜单,非常容易定制。 |
Swift-CircleMenu | ★123 / Y | 一个用 Swift 3编写的旋转圆盘菜单。 |
Swift-CircleMenu | ★123 / Y | Swift-CircleMenu:一款圆盘式菜单,Rotating circle menu written in Swift 3 |
XBSettingController | ★120 | 快速搭建类个人中心及应用设置界面. |
WXGSlideMenuDemo | ★94 | 个简单实现侧拉(侧滑)菜单的小demo,供初学者共同学习、练习使用. |
Swift-Slide-Menu | ★89 / Y | 受 Menu Material Design 其他的侧滑菜单,基于 Swift 实现。 |
SwiftySideMenu | ★85 / Y | SwiftySideMenu 是个轻巧易用的侧边栏菜单控制器,可以用于添加左侧/中间菜单栏,基于 POP 框架的等比例缩放功能,支持 Swift。 |
JNDropDownMenu | ★67 / Y | 一个易于使用的、类似于 tableview 的下来菜单,支持多列,基于 Swift3 实现。 |
SlideMenuView | ★52 | 炫酷侧滑菜单布局框架,[Android版本的一致实现](Android 版本的一致实现请见:https://github.com/xudafeng/SlidingMenu)。 |
UINavigationController-YRBackGesture | ★47 | 支持右滑返回手势,标题栏不动。 |
ALRadialMenu | ★45 / Y | 具有弹力动画的径向/原型菜单,基于 swift 实现。 |
JHMenuTableViewDemo | ★39 | 仿网易邮箱列表侧滑菜单. |
QQConfiguration | ★36 / Y | swift,QQ-iPhone端框架,左侧菜单栏拖动手势。 |
EEJSelectMenu | ★21 | 一个有非常酷的动画效果的单选菜单,基于响应式,能适应所有尺寸的屏幕。 |
RevealMenuController | ★19 | 一套可扩展的项目组,自定义位置和动画的库,长得有点像 iOS 的原生 ActionSheet 组件。 |
UIMenuScroll | ★14 / Y | 一个水平滑动导航菜单,基于 Swift。 |
KJMenuView | ★3 | 封装整理一些菜单控件、下拉菜单,横向滚动菜单 |
Navigation Bar/导航控件
相关教程
- 《iOS 对UINavigationBar的一次研究》
- 《iOS UINavigationBar 用法介绍》
- 《iOS-UINavigationBar这样用》
- iOS UINavigationController 介绍
开源组件
地址 | Stars/Siwft | 简介 |
---|---|---|
AMScrollingNavbar | ★5.9k / Y | 一个可以跟随 UIScrollView 滚动的 UINavigationBar,上下滑动时动态隐藏标题栏。 |
LTNavigationBar | ★4.5k | 属于 UINavigationBar ,可以动态改变外观。 |
TLYShyNavBar | ★3.8k | 不像那些 UINavigationBar 那么傲慢。这个 Bar 很谦虚!可以很容易地创建自动滚动的 navigation bar。 |
BLKFlexibleHeightBar | ★3.1k | 创建一个高度可以自动调整的 NavigationBar,类似 Facebook ,Square Cash,Safari 中的那样。 |
KMNavigationBarTransition | ★3k / Y | 一个用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库,并且同时支持竖屏和横屏。你不用为这个库写一行代码,所有的改变都悄然发生,有中文文档,支持 Swift。 |
WRNavigationBar | ★2.7k | 超简单!!! 一行代码设置状态栏、导航栏按钮、标题、颜色、透明度,移动等. |
SAHistoryNavigationViewController | ★1.6k | SAHistoryNavigationViewController 实现了一个在 iOS 上的类似任务管理器的 UI,兼容 UINavigationContoller,3D |
JZNavigationExtension | ★1.5k | Navigation的扩展,强烈推荐 |
NavigationController | ★1.3k | 实现类似微信的 webView 导航效果,包括进度条,左滑返回上个网页或者直接关闭,就像 UINavigationController. |
HBDNavigationBar | ★1.2k | 一个自定义的 UINavigationBar ,可在各种状态之间进行平滑切换,样式、颜色、背景图像、背景Alpha(透明度)、隐藏、标题文本属性、色泽颜色,阴影... |
BusyNavigationBar | ★977 | 一个 UINavigationBar 扩展,用于展示"加载中"的特效。 |
HidingNavigationBar | ★914 | 可以在滚动时轻松隐藏和显示视图控制器的导航栏(和标签栏) |
RainbowNavigation | ★784 | RainbowNavigation 是由 Swfit 2.0编写,它允许你在各种情况下动画改变 UINavigationBar 的 backgroundColor 属性。 |
JTNavigationController | ★597 | 一个拥有更平滑的navigationBar切换动画的NavigationController. |
TONavigationBar | ★231 | NavigationBar 的一个简单子类,赋予让背景设置"清除"的能力,并逐渐过度,直到显示为止,很像 iOS 上 Music 这个应用的效果。 |
Tiptoes | ★221 / Y | 提供了一种自定义 Navigation Bar 的新思路,并实现了转场渐变效果,灵感来自于 Unread. |
KDInteractiveNavigationController | ★152 / Y | 一个 UINavigationController 子类,该子类可以控制 UINavigationbar 的隐藏/显示,还可以隐藏所有UINavigationController 返回标题,仅显示后退箭头。 |
SCNavigation | ★119 | 自定义 Navigation (NavigationBar相关以及NavigationController)所有元素完全自定义,通过 Pan 手势来完成类似 iOS7 的手势返回效果 。 |
LSNavigationBarTransition | ★78 | 导航栏背景色可以统一设置,每一个控制器导航栏背景色还可以自己单独设置不影响统一设置的界面,采用自定义交互动画实现淘宝,京东等软件当下最流行的导航控制器效果,比其他实现方式每一个控制器都包装一个导航控制器性能更好,使用方法更贴合系统使用方法. |
NavKit | ★35 | 可以通过简单方式来定制导航条的体验,它应该节省用来抽象导航栏,后退按钮等元素的时间。 |
LTNavigationbar | 导航栏颜色动态改变 |
PickerView/选择器
相关教程
开源组件
- ASDayPicker - 适用于iOS (iPhone)的日期选择器(时间选择器),类似于Calendar app的周视图.
- 仿LOL滚动视图 - 仿LOL滚动视图。
- 答题选择切换页 - 将scrollview和tableview封装在一起,在初始化的时候简单的将数据带上,就可以一页一页的左右来回滑动。
- FJTagCollectionView - 标签(适配宽度)。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
ActionSheetPicker-3.0 | ★3.3k / Y | 重现下拉的 UIPickerView/ActionSheet 的功能。可以用 PickerView 轻松呈现一个 ActionSheet,允许用户从许多不可变的选项中进行选择,兼容 Objective-C 和 Swift。 |
ActionSheetPicker-3.0 | ★3.3k | Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. |
TZStackView | ★1.2k / Y | OS 9 UIStackView 功能模拟实现于 iOS 7/ iOS 8 内。 |
PGDatePicker | ★939 | 日期选择器,支持年、年月、年月日、年月日时分、年月日时分秒、时分、时分秒、月日周 时分等. |
Mandoline | ★864 / Y | 一个 iOS 选择器视图,可满足您的所有对“选择”需求 |
JMRoundedCorner | ★753 / Y | UIView设置不触发离屏渲染的圆角! |
HYBImageCliped | ★636 | 可给任意继承UIView的控件添加任意多个圆角、可根据颜色生成图片且可带任意个圆角、给UIButton设置不同状态下的图片且可带任意圆角、给UIImageView设置任意图片,支持带圆角或者直接生成圆形。 |
CFCityPickerVC | ★552 | 城市选取控制器. |
CZPicker | ★523 | 一个弹出式选择器视图。 |
DatePickerDialog | ★438 / Y | 一个日期选择对话框 |
STPickerView | ★436 | 一个多功能的选择器,有城市选择,日期选择和单数组源自定的功能,方便大家的使用,低耦合,易扩展. |
PickerView | ★423 / Y | 一个针对 UIPickerView 的可定制替代品,基于 Swift. |
CountryPickerView | ★362 / Y | 一个简单、可自定义的视图,可在iOS应用中有效收集国家/地区信息 |
HSDatePickerViewController | ★319 | 带有Dropbox Mailbox感觉的时间日期选择器(时间选择器)。启动是背景被模糊化。界面也是主流的扁平化风格. |
JFCitySelector | ★312 | (仿美团)简单好用的城市选择器,三行代码搞定. |
D2PDatePicker | ★273 / Y | 一个优雅的、易于使用的 iOS Swift 日期选择器 |
HUMSlider | ★267 | HUMSlider是一款能够自动显示刻度记号的滑竿,滑动到某处,该处的刻度会自动上升,两边还能配置图像。支持代码或storyboard中实现。 |
XTPaster | ★169 | 贴纸功能出现在很多图片社交中, 就是图片上面贴图片, 对贴纸而言就是需要控制贴纸的位置,旋转,大小,如何使用。 |
CountryPicker | ★163 | 带有国旗和电话区段码的国家/地区选择器。 |
Ruler | ★160 | 尺子。 |
McPicker | ★159 / Y | 一个可定制的、闭包驱动的 UIPickerView 嵌入式解决方案,具有可旋转的动画。 |
ADDatePicker | ★140 / Y | 完全可自定义的 iOS 水平 PickerView 库,纯 Swift 编写。 |
SKCountryPicker | ★120 | 一个简单,可自定义的“国家/地区”选择器、用于选择国家或地区代码。 |
UsefulPickerView | ★112 | 可以简单快速实现点击TextField或者按钮弹出单列, 多列, 多列关联,城市选择, 日期选择的pickerView. |
HZQDatePickerView | ★112 | 自定义时间选择器(日期选择器),包括开始日期和结束日期两种类型. |
YXFilmSelectView | ★97 | 仿造时光网选择电影票的UI而开发的一个自定义View。 |
AIDatePickerController | ★92 | 随 iOS 7 自定义过渡效果一同呈现的 UIDatePicker。 |
MICountryPicker | ★92 | 一个带有搜索功能的国家/地区选择器。 |
planet | ★71 | 一个国家/地区选择器,带有国旗图表。 |
EasyUIControl | ★41 | 一个可以简化界面ui的控件框架。 |
YMCitySelect | ★2 | 重量级城市选择框架,类似美团、猫眼电影、美团外卖、百度外卖、百度糯米等团购类app城市选择界面. |
JDSelectedDemo | 仿京东筛选菜单实现。 | |
RGCategoryView | 仿了个苏宁易购的分类页面。 | |
LLPieCharts | LLPieCharts iOS 绘制饼图,教程。 |
下拉刷新组件
- 可展开/收缩的下拉菜单--SvpplyTable - 一个可展开可收缩的下拉菜单,类似Svpply app.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
MJRefresh | ★13.2k | 一种使用下拉刷新的简单方式。 |
SVPullToRefresh | ★4.9k | 使用1行代码即可对任何 UIScrollView 进行拉动刷新和无限滚动。 |
CBStoreHouseRefreshControl | ★4k | 一个完全可定制的下拉刷新控件,灵感来源于 Storehouse iOS。 |
DGElasticPullToRefresh | ★3.5k / Y | 一个弹性下拉刷新组件,基于 Swift。 |
BreakOutToRefresh | ★2.4k / Y | 一个可以当游戏玩(乒乓球)的下拉刷新组件,基于 SpriteKit. |
ODRefreshControl | ★2.2k | 原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端. |
Pull-to-Refresh.Rentals-iOS | ★2.2k | 下拉刷新时有动画 |
PullToMakeSoup | ★1.9k | 可以自定义动画的下拉刷新组件,可以轻松添加到 UIScrollView。 |
PullToBounce | ★1.9k | 一个针对 UIScrollView 有动画效果的下拉刷新组件。 |
UzysAnimatedGifPullToRefresh | ★1.4k | 只需简单的代码,即可使用 GIF 动画 将 PullToRefresh 添加到任何 scrollView |
ESPullToRefresh | ★1.4k / Y | 可定制的下拉刷新,包括漂亮的顶部动画。 |
TwitterCover | ★1.2k | Twitter iOS客户端的下拉封面模糊效果. |
Replace-iOS | ★1.1k | Replace-iOS 让人眼前一亮的下拉刷新(iOS). |
KafkaRefresh | ★976 | 一个有动画的、可定制的、灵活的下拉刷新框架,让 iOS 开发更快速简单。 |
ReplaceAnimation | ★927 / Y | 基于 UICollectionView 实现的下拉刷新动画,带有粘性的头视图(有回弹效果),有流式布局,基于 Swift 实现。 |
BOZPongRefreshControl | ★897 | 下拉刷新时显示一个乒乓球效果的游戏动画,该效果最初是由 MHacks III 创建的。 |
refresher | ★888 / Y | swift,上拉和下拉刷新. |
mntpulltoreact | ★781 | 一个手势就可以完成多种操作,可谓是下刷新的革命。 |
CRRefresh | ★759 | 一种使用下拉刷新的简单方式。 |
XHRefreshControl | ★746 | XHRefreshControl 是一款高扩展性、低耦合度的下拉刷新、上提加载更多的组件. |
RainyRefreshControl | ★687 | 一个简单的刷新控件,主要来自 concept 的启发。 |
MHYahooParallaxView | ★650 | 类似于Yahoo Weather和News Digest首屏的视差滚动. |
Animations | ★637 | 封装了一下,使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画,现在统一归类一下. |
KYJellyPullToRefresh | ★565 | 实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画. |
PullToRefreshSwift | ★530 / Y | 一个 iOS 简单炫酷的下拉刷新库,基于纯 swift 实现。 |
PullToRefreshCoreText | ★316 | 针对所有的 UIScrollView 的下刷新扩展,有动画文本样式。 |
SDRefreshView | ★292 | 简单易用的上拉和下拉刷新(多版本细节适配). |
ADChromePullToRefresh | ★262 | 类似于 Chrome(iOS版)的下拉刷新控件,下拉的同时可以之后左右手势来操作更多的动作。 |
GIFRefreshControl | ★161 | GIFRefreshControl 可以将 GIF 图片最为轨道动画的下拉刷新组件。 |
TGRefreshOC | ★148 | 弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果,同时支持其他样式. |
ESRefreshControl | ★140 | 仿新浪微博、百度外卖、网易新闻下拉刷新样式Demo(仅供参考). |
WaterDropRefresh | ★133 | 仿Path 水滴的下拉刷新效果 还有视差滚动. |
WaveRefresh | ★122 | 下拉刷新水波纹动画. |
SURefresh | ★106 | BOSS直聘APP下拉刷新动画实现,效果展示图-> 实现思路再复杂的动画都可以拆分成许多简单的动画组合起来,这个动画大概可以分成两个主体,我把它分别录制出来给大家看看. |
SurfingRefreshControl | ★54 / Y | 类似于 CBStoreHouseRefreshControl.Customizable 的下拉刷新控件,基于纯 Swift 实现。 |
INBPullToRefresh | ★51 | 下拉刷新时图片放大 |
HTPullToRefresh | ★40 | 可以轻松向任何 UIScrollView 添加水平/垂直下拉刷新组件,也可以一次添加多个下拉刷新视图。 |
GSRefresh | ★30 / Y | 完全自定义视图和动画的下拉刷新、上拉加载库,易扩展. |
BanTangAnimation | 半糖下拉刷新的原理。简单来说是利用CGGlyph,字符图形转换成cgpath,然后绘制strokeEnd动画。把timeoffset和scrolloffset结合就行了。 | |
PullToReflesh-Swift | / Y | 一款炫酷的下拉刷新封装库(Mobile page refresh concept inspired by Google and for something like a news app)。源码分析 |
Rating Stars/评分组件
- appirate - 同样是提醒用户为APP评分
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iRate | ★4.2k | 这个就是iRata——一个小型库——你可以把它放入项目中,把问卷调查什么的都忘记吧,iRate会在恰当的时候为你解决这个问题。 |
Cosmos | ★1.7k / Y | 一个星形的评分组件,支持 Swift |
HCSStarRatingView | ★1.3k | 一个简单的星级评分工具,基于 Objective-C。 |
UAAppReviewManager | ★823 | 还是提醒用户评分 |
FloatRatingView | ★496 / Y | 支持整颗/半颗星的评分工具,基于 Swift 实现。 |
TTGEmojiRate | ★283 / Y | 一个类似于 emoji 表情的评分组件,可以通过手势控制是笑脸还是哭脸,还是一般,比较新颖,基于 Swift 实现。 |
StarryStars | ★168 / Y | StarryStars 是一个用户显示/编辑评分的 iOS GUI 库,同时兼容 Swift 和 Objective-C。 |
SwiftyStarRatingView | ★127 / Y | SwiftyStarRatingView 是一个用 swift 3.0 编写的评分控件,可以支持自定义图片和颜色,并且可以支持在XIB、StoreBoard中使用,并支持AutoLayout。 |
iOS-RatingBar | ★104 / Y | iOS-RatingBar swift版的评分控件,跟Android的RatingBar一样有两种模式,评分模式和只读模式'支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星,0.5颗星,0.1颗星,可以开启动画效果。 |
MBRateApp | ★53 / Y | 一个比较时髦的评分组件,基于 Swift 实现。 |
RPInteraction | ★25 | 一个评论交互组件 - 有方便而美观的评论方式。 |
ReviewKit | ★17 | 改框架旨在在理想时机提示用户为你的应用进行评分。 |
ScrollView/滚动视图组件
相关教程
相关教程
地址 | Stars/Siwft | 简介 |
---|---|---|
SpreadsheetView | ★3.1k / Y | 一个完全可配置的电子表格视图, 使用此框架,您可以像使用 Excel 一样轻松创建复杂的布局,如时间表,甘特图或时间表。 |
VegaScroll | ★2.4k / Y | VegaScroll 是 UICollectionView 的轻量级动画布局,完全用Swift 4编写,与 iOS 11和 Xcode 9兼容 |
LazyScrollView | ★1.7k | iOS 高性能异构滚动视图构建方案. |
UIScrollView-InfiniteScroll | ★931 | 一个可以无限滚动 UIScrollView。 |
SegementSlide | ★758 / Y | 一个多层 UIScrollView 相互嵌套滚动解决方案,支持 Swift。 |
GKPageScrollView | ★702 | iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果. |
AppStoreStyleHorizontalScrollView | ★661 | 类似于 App store 风格的水平滚动视图。 |
PullToDismiss | ★431 / Y | 可以通过拉动 scrollview 和 navigationbar 来关闭模态 viewcontroller,基于 Swift。 |
ShelfView-iOS | ★256 / Y | iOS 自定义书架,可以在书架上显示书籍 |
SlideController | ★197 / Y | SlideController 是完全用 Swift 编写的、简单灵活、的UI组件,基于泛型,他是一个 UIPageViewController 的一个不错的替代品。 |
ScrollingFollowView | ★176 | ScrollingFollowView 是一个跟随 UIScrollView 滚动的简单视图。 |
SYParallaxScrollView | ★119 | Useful for Configure Horizontal Parallax Scroll. |
CrownControl | ★80 | CrownControl 是一个很小的组件,可以在不滑动拇指的情况下滚动内容,有点像 DJ 打碟时的圆盘,主要收到了 Apple Watch Digital Crown 的启发。 |
GoAutoSlideView | ★56 | GoAutoSlideView 是针对 UIScrollView 的扩展,提供无限滚动和自动滑动的功能。 |
轮播组件
地址 | Stars/Siwft | 简介 |
---|---|---|
SDCycleScrollView | ★5.8k | 无限循环自动图片轮播器(一步设置即可使用). |
SGPagingView | ★1.3k | A powerful and easy to use segment control (美团、淘宝、京东、微博、腾讯、网易、今日头条等标题滚动视图). |
HYBLoopScrollView | ★634 | 一行代码接入轮播组件,自带图片下载、缓存相关功能,无任何第三方依赖、轻量级组件. |
KJBannerView | ★136 | 轮播图Banner - 无任何第三方依赖、轻量级组件 支持缩放、自带缓存加载 支持自定义继承、定制特定样式 支持网络GIF播放和网络图片和本地图片混合显示轮播 支持在Storyboard和Xib中创建并配置其属性 |
Slider/滑块
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
HGCircularSlider | ★1.9k / Y | 一个可定制、可重用的 iOS 环形滑块。 |
ASValueTrackingSlider | ★1.8k | 一个 UISlider 的子类,可以在滑块上方展示一个弹出式文本。 |
Fluid Slider | ★1.6k / Y | 一个带有弹出气泡(用于显示滑块值)的滑块。 |
TTRangeSlider | ★852 | 样式类似于 UISlider 的滑块,可以选择最小和最大范围。 |
AGCircularPicker | ★575 / Y | 一个特殊的环形滑块,有粘稠特效,可以用作倒数计时器或将比分保留在游戏界面中,切让滑块管理更简单。 |
SnappingSlider | ★570 / Y | 一个漂亮的滑块控件,纯 Swift 实现。 |
RangeSeekSlider | ★462 / Y | 一个可定制的范围选择滑块。 |
StepSlider | ★342 | 一个有阶段节点的滑块,节点步长可以预定义。 |
SectionedSlider | ★302 / Y | 一个垂直滑块,有点像电池电量。 |
RangeSlider | ★244 / Y | 一个使用 Swift 制作的简单范围滑块,可以从两端进行控制。 |
CircularSlider | ★230 / Y | 一个强大的环形滑块,基于 Swift 实现,100%支持 IBDesignable,且所有属性都是 IBInspectable 的。 |
MARKRangeSlider | ★172 | 一个可自定义可重置用的范围滑块,在两端都有拇指按钮。 |
CircleSlider | ★134 / Y | CircleSlider 是环形滑块库,颜色、环的宽度等都可以定制, 用纯Swift编写。 |
MultiSlider | ★122 / Y | 是个 UISlider 的克隆版,可以有多个拇指按钮(不只有2个)及值,还有可选间隔、可选的纸标签. |
JDSlider | ★87 / Y | 一个使用 Swift 实现的 iOS 滑块。 |
WESlider | ★87 | 一个简单轻量级的、带有节点的滑块。 |
VolumeControl | ★78 | 一个 iPhone 的自定义音量控制控件,一个精心设计的圆形滑块。 |
VerticalSlider | ★73 | VerticalSlider 是 UISlider 滑块控件的垂直版实现。 |
MTCircularSlider | ★72 | 一个功能丰富的环形滑块控件。 |
IntervalSlider | ★65 / Y | IntervalSlider 是像 ReutersTV 这样的滑块库,基于纯 Swift 实现。 |
MMSegmentSlider | ★46 | 可自定义动画 iOS 滑块 。 |
Sliders | / Y | 自定义样式的 SwiftUI 滑块 |
Status Bar/状态栏
相关教程
相关框架、组件
地址 | Stars/Siwft | 简介 |
---|---|---|
MTStatusBarOverlay | ★2k | MTStatusBarOverlay 是一个定制的 iOS 状态栏,用于覆盖系统默认的状态栏,类似 Reeder, Evernote and Google Mobile App。支持两种点击动作:1. 当用户点击状态栏时,状态栏会收缩,仅仅遮盖住状态栏右方的电池图标;2. 当用户点击状态栏时,一个有详细信息的视图会从系统状态栏中下拉出现. |
Bartinter | ★1.6k / Y | 可以根据屏幕背景样色动态改变颜色的状态栏,比如背景是深色,状态栏图表就编程白色,当背景是浅色时,状态栏图表就编程白色,基于 Swift。 |
Stepper/步进控件
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
GMStepper | ★809 / Y | 一个中间有滑动标签的步进器。 |
SnappingStepper | ★401 / Y | 一个 UIStepper 的优雅的替代品,基于 Swift 实现。 |
ValueStepper | ★332 | 一个可以显示值的 stepper 对象。 |
barceloneta | ★63 | 一个用简单的手势来增/减值的正确方法。 |
PFStepper | ★25 | 可能是最优雅的 stepper。 |
SMNumberWheel | ★21 / Y | 非常适合使用旋转轮拉提取数字,基于 Swift 。 |
TabBar/选项卡
相关教程
开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
animated-tab-bar | ★10.5k / Y | RAMAnimatedTabBarController 是一个 Swift 模块,可以用户向 tabbar 元素添加动画。 |
XLPagerTabStrip | ★6.3k / Y | PagerTabStrip(一个 Android 选项卡组件) 的 iOS版。 |
CYLTabBarController | ★6.1k | 很方便集成的tabBarController框架 |
FoldingTabBar.iOS | ★3.7k / Y | 折叠式选项卡,兼容 Swift 和 Objective-C。 |
SwipeView | ★2.7k | SwipeView是一个类,旨在简化iOS上水平、分页滚动视图的实现。它基于UIScrollView,但是添加了方便的功能,例如UITableView样式的数据源/委托接口,用于动态加载视图,以及高效的视图加载、卸载和回收。 |
Segmentio | ★2.1k / Y | 一个用Swift编写,可以放在顶部或底部的分段控件。 |
adaptive-tab-bar | ★2k / Y | AdaptiveController 可以向原生或自定义 UI 元素添加自定义状态的模块。 |
Tabman | ★1.8k / Y | 一个带有指示器栏控件的、功能强大的视图分页控制器。 |
ColorMatchTabs | ★1.3k / Y | 一个现实选项卡的有趣方式。 |
TabPageViewController | ★1.1k / Y | 可以将滚动的 tab view 和视图控制器分页。 |
BATabBarController | ★910 | 一个具有独特动画效果的 TabBarController。 |
GooeyTabbar | ★903 | 粘滞效果选项卡。 |
SwipeableTabBarController | ★764 | UITabBarController 让选项卡之间具有滑动交互效果。 |
TransitionableTab | ★698 / Y | 简单、易用、tab、可定制的标签栏切换效果. |
DLSlideView | ★647 | DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。 它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,保留原始的系统消息,没有隐患。 同时内存模型更优于使用scrollview的方式,理论上可以支持无限分页. |
SwipeViewController | ★604 / Y | SwipeViewController 是 RKSwipeBetweenViewControllers 基于 Swift 的改良版,可以在 pages 或 ViewControllers 之间进行切换。 |
LLRiseTabBar-iOS | ★564 | 仿淘宝闲鱼的TabBar. |
TabDrawer | ★506 / Y | 可自定义的选项卡的 UI 元素,允许您在选择 TabBarItem 时运行代码块,或显示自定义的抽屉。 |
ScrollPager | ★474 | 一个类似于 Flipboard 滚动分页组件, 该控件创建一个给定标题或图像的选项卡,并可以选择连接到 UIScrollView,自动呈现视图,并在这些视图之间管理分页。 |
AxcAE_TabBar | ★443 | AxcAE_TabBar,特效TabBar,以开放为封装核心的TabBar组件,尽量将属性、API等参数全部开放给使用者,能够很方便快速使用的一个TabBar选项卡组件. |
AZTabBarController | ★238 / Y | 一个使用 Swift 3.0 编写的iOS 自定义选项卡控制器。 |
Pager | ★233 | 该库可以轻松创建滑动选项卡。 |
GGTabBar | ★157 | 另一个 UITabBar & UITabBarController (iOS Tab Bar) 的替代品,但是 是使用自动布局来安排各视图的层次。 |
MiniTabBar | ★138 | 一个针对 UITabBar 的简洁替代品。 |
WormTabStrip | ★127 / Y | 一个漂亮的视图分页组件,基于 Swift。 (灵感来自于 Android SmartTabLayout) |
ExpandedTabBar | ★126 | 针对 UITabBarController 的 “更多”项目的一个很有创意的解决方案。 |
ESTabBarController | ★120 | 一个iOS 选项卡控制器,可以将按钮高亮显示,同时可以设置自定义操作。 |
KYWheelTabController | ★119 | KYWheelTabController 是一个 UITabBarController 的子类,其显示一个环形菜单,而不是 UITabBar。 |
SmoothTab | ★85 | 一套流畅的可定制选项卡组件。 |
SSCustomTabMenu | ★69 | 一个简单、可定制的、带有选项卡的底部菜单。 |
SuperBadges | ★47 | 可以为选项卡按钮添加表情和彩色圆点。 |
SMSwipeableTabView | ★46 | 带选项卡的可滑动视图(就像 Android 中带有选项卡的 SwipeView 布局) |
BEKCurveTabbar | ★43 | 该组件与 XCode +10 兼容,并且可以通过 Interface_Builder 面板进行自定义。BEKCurveTabBar 派生了 UITabBar 类,可以和每个 iOS 设备兼容。 |
animated-tab-bar-Objective-C | ★34 | 动态 Tab-Bar |
CBMDTabbarController | / Y | It is a smooth MD tabbarController used on iOS, which implement by Swift. |
TableView/表格/列表
相关教程
相关框架、组件
- 横向展示文本内容的自定义cell - 可以横向展示文本内容的自定义cell,根据文本无限滚动.
- 微博cell自动布局 - 使用autoLayout对微博的cell进行自动布局,自适应cell的高度.
- jingDongFenLei - 简单仿写京东分类中的多级分类页面.
- FriendSearch - 两种UI的搜索,搜索的算法可以满足中英文互搜,联想搜索等,其中还包含对一组数据自动进行按字母分组等功能.
- 《iOS开发的一些奇巧淫技1》 - TableView不显示没内容的Cell怎么办.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SWTableViewCell | ★7.2k | 一个易用的 UITableViewCell 子类,实现了可滑动的内容视图。 |
MGSwipeTableCell | ★6.8k / Y | 是 UITableViewCell 的子类,允许显示带有各种过度效果的滑动按钮,支持 Swift 和 Objective-C。 |
SwipeCellKit | ★5.1k / Y | 一个可滑动的 UITableViewCell,基于 Swift 实现。 |
MCSwipeTableViewCell | ★3k | 一个方便的 UITableViewCell 子类,可以通过滑动内容来触发操作(类似于Mailbox应用)。 |
VVeboTableViewDemo | ★2.7k | 此项目由VVebo剥离,希望你能通过这个demo看到我是如何进行TableView流畅度优化的。 |
PSTCollectionView | ★2.5k | PSTCollectionView. |
RETableViewManager | ★2.5k | 赞 一个非常强大的使用数据驱动的 UITableView 内容管理。可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。比如,之前要实现一个填写各种资料的列表,可能需要很多代码,现在只需要几行代码就可以实现. |
AMWaveTransition | ★2.4k | 在那些持有 tableviews 的 viewcontrollers 之间自定义过度效果。 |
RDVTabBarController | ★2.3k | 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等. |
SwipeTableView | ★2.2k | Both scroll horizontal and vertical for segment scrollview which have a same header. — 类似半糖、美丽说主页与QQ音乐歌曲列表布局效果,实现不同菜单的左右滑动切换,同时支持类似tableview的顶部工具栏悬停(既可以左右滑动,又可以上下滑动)。兼容下拉刷新,自定义 collectionview实现自适应 contentSize 还可实现瀑布流功能. |
preview-transition | ★2k / Y | PreviewTransition 是一个简单的相册预览控件。 |
UUChatTableView | ★1.9k | UUChatTableView 气泡聊天界面,支持文本、图片以及音频的气泡聊天界面。源码推荐说明. |
VTMagic | ★1.8k | VTMagic 一个页面容器库。 |
RKSwipeBetweenViewControllers | ★1.7k | 页面滑动和标签选项卡类库. |
JXPagingView | ★1.5k | 类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多. |
ReverseExtension | ★1.5k / Y | 一个 UITableView 扩展,允许在 table view 的底部插入新单元。 |
PSCollectionView | ★1.4k | 一个瀑布流组件。 |
Bohr | ★1.3k | Bohr 允许您在应用中建立一个 Settings 设置页面,针对他的特性牢记以下三个原则:轻松,自定义和可扩展性。 |
LYEmptyView | ★1.3k | iOS一行代码集成空白页面占位图(无数据、无网络占位图). |
TYPagerController | ★1.3k | 简单,支持定制,页面控制器,可以滚动内容和标题栏,包含多种style. |
Static | ★1.2k / Y | 一个简单静态表格视图,基于 Swift。 |
WXTabBarController | ★1.1k | 在系统 UITabBarController 的基础上完美实现了安卓版微信 TabBar 的滑动切换功能,单手操作 iPhone 6 Plus 切换 TabBar 一直是一件很痛苦的事情,而滑动切换是一种不错的解决方案,支持屏幕旋转. |
ZYThumbnailTableView | ★949 / Y | 一个具有缩略图单元格的 TableView,您可以使用手势展开其他 ExpansionView,全部可以 DIY。高度自由定制可扩展TableView, 其中tableViewCell,topExpansionView,bottomExpansionView均提供接口自由定制,功能堪比小型阅读app |
UIScrollSlidingPages | ★930 | 允许添加多视图控件,并且可以横向滚动。有点类似于Groupon app. |
CascadingTableDelegate | ★929 / Y | 一种基于 Swift 来编写 UITableViewDelegate 和 UITableViewDelegate 的简便办法。 |
CYLTableViewPlaceHolder | ★917 | 一行代码完成“空TableView占位视图”管理. |
MTMaterialDelete | ★822 | 非常有趣的Material Design动画,动画删除表里面的单元格. |
DLSlideView | ★647 | DLSlideView对常见的顶部Tab页点击、滑动分页做了封装。它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,源码推荐说明. |
TableViewAnimationKit | ★642 | TableView Animation ,move your tableView. |
TMQuiltView | ★583 | 瀑布流. |
HVScrollView | ★574 | 这不是框架,只是3个示例程序,给大家提供一个实现这种布局的思路. |
TableFlip | ★515 | 一个简单的方法来做炫酷的 UITableView 动画! |
TableKit | ★501 / Y | 类型安全的、声明式表格视图,基于 Swift。 |
QuickRearrangeTableView | ★489 | 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置. |
MYTableViewIndex | ★480 / Y | 是对 UITableView 索引组件的完美替代,基于 Swift 实现,可以自定义索引组件的样式。 |
TableViewDragger | ★459 | 一个可以拖放和重新排序的 UITableView 单元控件。 |
XLPlainFlowLayout | ★448 | 可以让UICollectionView的header也支持悬停效果,类似于tableView的Plain风格. |
uicollectionview-reordering | ★446 | UICollectionViews的拖拽(拖动、移动)效果,实例教程. |
DTTableViewManager | ★413 / Y | 一个面向协议的 UITableView 管理工具,基于泛型的强大能力。 这是 DTCollectionViewManager 的姊妹项目 —— 一个管理 UICollectionView 工具,该库基于与其相同的原则构建。 |
RHPreviewCell | ★388 | 非常像 Spotify iOS app 中的播放列表预览组件,通过该库您可以让用户快速预览 UITableViewCell 下隐藏了哪些内容。 |
YX_UITableView_IN_UITableView | ★369 | UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解. |
PagerTab | ★344 | UIScrollView实现滑动转换页面,类似网易云音乐iOS版的页面滑动切换效果. |
EHHorizontalSelectionView | ★344 | Horizontal table view style controller. |
QuickTableViewController | ★334 / Y | 一个创建 UITableView 的简单办法,基于 Swift。 |
JXPageListView | ★333 | 高仿闲鱼、转转、京东、中央天气预报等主流APP列表底部分页滚动视图. |
ExpandingStackCells | ★317 | 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案. |
SwiftReorder | ★302 / Y | 仅需几行代码,即可将重新排序的结果拖放到任何表视图中,其坚固,轻巧且完全可定制。 |
SAInboxViewController | ★299 | 一个 UIViewController 子类,灵感来自于"Google 的 Inbox" 有动画效果,点击单元格可以预览/展示更多内容。 |
ConfigurableTableViewController | ★268 | 一个简单视图控制器,提供了一种在保持类型安全的同时 用多种类型的单元格配置表视图的方法。 |
XRWaterfallLayout | ★239 | 超简单的瀑布流实现,实现说明. |
YZHeaderScaleImage | ★183 | 一行代码快速集成tableView中头部缩放视图. |
HoverConversion | ★168 | HoverConversion 使用 UITableView 实现了垂直分页功能。 当到达 UITableView contentOffset 对应的顶部或底部时,UIViewController 将进行分页。 |
VBPiledView | ★163 | 一个简单美观的堆叠式 UIView,可以替代UITableView,UIImageView,或用作菜单。 |
MBXPageViewController | ★157 | 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。该项目通过三种形式展示页面之间的切换,比如导航栏上的多个tab切换、页面左右两端箭头指示切换,以及使用分段控件. |
TORoundedTableView | ★137 | UITableView 的一个子类,很像 ipad 中的"设置"界面,分为左右两栏的那种。 |
MDIHorizontalSectionTableViewController | ★127 | 根据产品需求开源了一个交互项目,可以理解为横向Section的TableView,section和cell同时支持拖拽,后续安卓版本也会开源出来. |
XWCatergoryView | ★122 | 一个轻量级的顶部分类视图控件,只需要通过简单的设置,你就可以快速集成该控件, 控件目前暂时有底部横条移动,椭圆背景移动,文字缩放,文字颜色变化,和文字颜色渐变五种效果,五种效果可以叠加使用也可以单一使用。实现教程 |
ExpandTableView | ★122 | 可折叠展开的tableView,QQ好友分组列表. |
SWTableViewCell | ★119 | 国内开源作者,带很多手势的表单元格. |
LLNoDataView | ★111 | 超简单的空数据提示通用View支持UIScrollView、UITableView、UICollectionView、UIWebView. |
WaterfallFlowDemo | ★95 | 一个简单的UICollectionView瀑布流布局演示demo. |
HorizontalScrollCell | ★94 | HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图. |
VOVCManager | ★87 | 页面管理器:1.跳转指定页面,只需要知道viewController的Class名,如果有storyboard,则需要指定storyboard名;2.无需添加基类;3.支持URLScheme跳转指定页面。 |
YHListKit | ★85 | 一个轻量级的数据驱动列表框架. |
ZWSlideViewController | ★85 | ZWSlideViewController多页滑动视图控制器(类似新闻类门户APP),可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制,可以使用在多种不同形态的APP下,还可以将其做为多页或多图的滑动介绍. |
OKTableViewLiaison | ★83 / Y | 一个帮助您更好地管理 UITableView 配置的框架。 |
SelectionList | ★78 / Y | 基于 UITableView 的单选/多选清单(checklist)组件。 |
AZTableViewController | ★72 / Y | 优雅而轻松的方式将分页与虚拟视图整合在一起,支持自动分页。 |
YXTPageView | ★68 | 一个支持在 UIView 和 UITableView 之间进行滚动切换的 PageView。 |
BWSwipeRevealCell | ★62 / Y | 一个用户滑动表格单元的 Swift 库。 |
LLRiseTabBar-iOS | ★57 | 直接使用系统的特性实现的tabbar,比较简单. |
LGSettingView | ★48 | LGSettingView仅需三句代码即可快速集成设置界面,免去每次开发新应用都要重新布置设置界面的烦恼. |
ios-dragable-table-cells | ★44 | 支持在视图控制器的导航层次结构中拖放 UITableViewCell, 您通过点击并按住它们来拖动单元格。 |
SYJiugonggeTableView | ★32 | tableView封装的九宫格. |
Lightning-Table | ★28 | 一套针对 UITableView 的生命式 API。 |
StaticTableViewController | ★24 | 可以对一个静态的 UITableViewController 单元进行动态的 隐藏/显示。 |
KYCellAnimation | ★23 | 给UITableViewCell增加进入的动画. |
ThunderTable | ★15 | 使用基于协议的方式对 UITableViewController 进行管理的一种简单的声明性方法。 |
VOMetroLayoutDemo | ★12 | Metro风格的UICollectionView, 目前只支持横向布局,仅在iPad上应用. |
FlexibleTableViewController | ★9 | 一个通过用的表格视图控制器,可以处理额外的数据。 |
TreeTableView | ★2 | ZYTreeTableView:TreeView 模仿好友列表的实现方式. |
ExpandableCell/折叠效果
地址 | Stars/Siwft | 简介 |
---|---|---|
folding-cell | ★9.7k / Y | 一个折叠卡片的动画效果,用户扩展单元内容。 |
expanding-collection | ★5.3k | 一个 material design UI 的动画卡片peek/pop 控制器。 |
ExpandableCell | ★499 / Y | 完全重构的 YNExapnadableCell、更加简洁,无bug。 是一个适超棒的、可扩展可折叠表格单元。 |
YNExpandableCell | ★443 / Y | 一个适用于 iOS 的可折叠、可扩展的 tableview cell |
ExpyTableView | ★309 / Y | 只需要一个方法就可以让你的 table view 产生折叠效果。 |
CollapsibleTableSectionViewController | ★228 / Y | 一个 Swift 库,让 table view 支持可折叠效果。 |
AEAccordion | ★206 | UITableViewController 具有手风琴效果(展开/折叠)。 |
ThreeLevelAccordian | ★44 | 这是可自定义的三级手风琴效果,具有添加图像和附件的选项。 |
FTFoldingPaper | ★29 | 模拟纸张折叠效果,可以与 UITableView 集成或与其他 UI 组件一起使用。 |
Savory | ★4 / Y | 基于 Swift 实现的手风琴效果。 |
CollapsableTable | 可以自定义 section header 的可折叠 tableview section。 |
CollectionView/集合视图
UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局
相关教程
- 《iOS UICollectionView详解》
- 《iOS开发- UICollectionView详解+实例》
- 《IOS之UICollectionViewController》
- 《iOS开发之窥探UICollectionViewController》
相关框架。
地址 | Stars/Siwft | 简介 |
---|---|---|
IGListKit | ★11.2k | 一个数据驱动的 UICollectionView 框架,可以方便快速地构建灵活的列表。 |
SwipeCellKit | ★5.1k / Y | 很赞的tableView左滑删除效果 |
CSStickyHeaderFlowLayout | ★5.1k | CollectionView实现悬停的header. |
ESTabBarController.swift | ★4.2k / Y | 自定义TabBarController组件,继承自UITabBarControlle,可添加动画和自定义样式。swift 高度自定义TabBarController,支持自定义TabBarItem样式或添加动画 |
CollectionKit | ★3.8k / Y | 一个现代的Swift框架,用于构建可重用的数据驱动的集合组件。 |
Reusable | ★2.4k / Y | UITableViewCells 和 UICollectionViewCells 的混合,基于 Swift。UITableView 必备。更加优雅的实现 Cell 的 Register 和 Reuse |
Chats | ★2.1k / Y | 聊天 UI 示例程序。此项目应该只为演示或学习之用,没有服务器 -- swift。 |
DisplaySwitcher | ★2k / Y | 两个集合视图布局之间的自定义切换效果。 |
Dwifft | ★1.8k / Y | Swift Diff,Dwifft 是一个小的Swift库,它告诉您两个集合之间的“差异”是什么。即,将一个集合转换为另一个集合时所需的那些“编辑操作”。 |
CollectionViewClassifyMenu | ★1.5k | CollectionView做的两级菜单,可以折叠第二级菜单. |
RACollectionViewReorderableTripletLayout | ★1.5k | 自定义的CollectionView布局,可以通过拖动进行cell的重新排序. |
Carbon | ★901 / Y | 一个声明式的库,用于在 UITableView 和 UICollectionView 中构建基于组件的 UI。 |
RAReorderableLayout | ★863 | 可以拖拽放置的 UICollectionView 元素。 |
Parade | ★735 / Y | 一个可可滚动的视差效果引擎,可用于 iOS 和 tvOS 之上. |
GLTableCollectionView | ★700 / Y | 类似 Netflix 和 App Store 的 UITableView(带有 UICollectionView) |
Preheat | ★632 | 可以自动预取 UITableView 和 UICollectionView 中的内容。 |
SwiftSpreadSheet | ★558 / Y | 一个 Swift 实现的电子表格,完全可自定义。 |
DataSources | ★531 / Y | 一个类型安全的数据驱动 List-UI 框架。 (也可以用 ASCollectionNode ) |
DiffableDataSources | ★446 / Y | 一个反向移植 UITableView/UICollectionViewDiffableDataSource 的库。 |
KDDragAndDropCollectionView | ★420 / Y | 可以跨多个 UICollectionViews 拖放数据。 |
COBezierTableView | ★409 / Y | swift,通过编辑 Bezier 曲线四点位置设置 TableView 内 Cell 及对应按扭位置。实验效果很赞。 |
TLIndexPathTools | ★344 / Y | TLIndexPathTools 是一组可以大大简化表和集合视图操作的类集合。 |
PagingView | ★307 / Y | 无限分页,智能自动布局,有类似于 UIKit 的界面。 |
StickyCollectionView-Swift | ★304 / Y | 用于显示重叠单元格的 UICollectionView 布局。 |
MEVFloatingButton | ★297 | UITableView、UICollectionView和UIScrollView 超类类别中的下拉菜单,用于在其上显示可自定义的浮动按钮。 |
DraggingSort | ★278 | 长按拖拽排序. |
ReorderableGridView-Swift | ★277 / Y | 拖拽排序卡片。 |
WHC_CollectionViewFramework.swift | ★256 / Y | 高仿支付宝可拖拽排序编辑动画效果cell的CollectionView集合视图。 |
Sapporo | ★249 / Y | 模型驱动的 collectionview 管理工具,可以方便的对选项和单元格进行增删改查。 |
ASCollectionView | ★232 / Y | 一个类似于 Airbnb 的 collection view,基于 Swift。 |
LxTabBarController | ★231 / Y | 改变了原生tabbar切换tab时的生硬效果,并加入滑动切换手势(有和界面上的其它手势发生冲突的风险,可根据具体项目予以关闭),swift版本。 |
MSPeekCollectionViewDelegateImplementation | ★184 | 可以在集合视图中查看上一项和下一项的自定义分页行为。 |
SectionScrubber | ★182 / Y | 一个可以在集合视图之间快速滚动的组件。 |
Conv | ★139 | Conv 比 UIKit 更能表示 UICollectionView 数据结构。 |
AppStore-Horizontal-Demo | ★135 | 仿半糖App 个人中心可以横向滚动的 列表 UICollectionView UITableView UISrcrollView. |
GenericDataSource | ★126 / Y | Swift 中用 UITableView/UICollectionView 的数据源实现的通用小型可重用组件。 |
CampcotCollectionView | ★95 / Y | CampcotCollectionView 是用Swift编写的一个可自定义 UICollectionView,它允部分单元许展开和折叠, 且提供了一个简单的API来管理集合视图的外观。 |
PJFDataSource | ★89 | PJFDataSource 是一个小型库,可为您的应用提供一种简洁的架构来管理数据源,同时为常见的内容状态(即加载,加载,空和错误)提供一致的用户界面。 |
SimpleSource | ★86 | 简单且类型安全的iOS表和集合视图。 |
EditDistance | ★85 / Y | UITableView 和 UICollectionView 的增量更新工具 |
AZCollectionViewController | ★82 / Y | 一个将分页与 CollectionView中的虚拟视图集成的简单方法。 |
Stefan | ★45 | 一个可以帮助您轻松管理集合和占位符的工具。 |
HBHorizontalTableView | ★37 / Y | swift,TableView 横向滚动小示例(仿照 AppStore 应用展示)。 |
NavTopImage.swift | ★21 / Y | NavigationController动态缩放titleView。 |
FlexibleCollectionViewController | ★3 / Y | 一个具有外部数据处理功能的通用集合视图控制器,基于 Swift。 |
ThunderCollection | ★1 | 使用基于协议的方式对 UICollectionViewController 进行管理的一种简单的声明性方法。 |
Collection View Layout/Collection View 布局
地址 | Stars/Siwft | 简介 |
---|---|---|
CHTCollectionViewWaterfallLayout | ★4.1k | 一个针对 UICollectionView 瀑布流效果的布局,(类似于 Pinterest) 。 |
BouncyLayout | ★3.7k / Y | BouncyLayout 是一个让单元格有反弹效果的布局。 |
CollectionViewSlantedLayout | ★1.7k / Y | UICollectionViewLayout 让单元格具有倾斜效果,支持 Swift。 |
CenteredCollectionView | ★798 / Y | CenteredCollectionView 可以让单元居中,从而产生“轮播效果”。 |
Blueprints | ★739 / Y | 该框架旨在简化 collection view 的流式布局,支持 Objective-C 和 Swift. |
FMMosaicLayout | ★592 | 马赛克瓷砖效果的 collection view 布局,单元格可以有不一样的大小,重点在于简单的定制能力。 |
TLLayoutTransitioning | ★351 / Y | 增强了 UICollectionView 之间的过度效果。 |
mosaic-layout | ★238 / Y | 另一个马赛克效果的 collection view 布局(单元格可以有大有小),主要受到 Lightbox 的启发,基于 Swift 实现。 |
SquareMosaicLayout | ★232 / Y | 一个可扩展的马赛克风格的 UICollectionViewLayout,着眼于极其灵活的自定义能力,支持Swift。 |
UICollectionViewSplitLayout | ★209 / Y | UICollectionViewSplitLayout 让 collection view 编程响应式的。 |
AZSafariCollectionViewLayout | ★203 | AZSafariCollectionViewLayout 是 Safari 浏览器历史记录页面布局的实现,非常易于使用、易于集成(IBInspectable),只需几分钟就可以集成进来。 |
Swinflate | ★198 / Y | 可以让 CollectionView 有流畅的轮播体验,支持 Swift。 |
Header/头部标题栏
地址 | Stars/Siwft | 简介 |
---|---|---|
CSStickyHeaderFlowLayout | ★5.1k | 用 UICollectionView 替换了 UITableView。 类似于 Parallax Header,Sticky Section Header 一样的效果,也有滑动视差效果。 |
GSKStretchyHeaderView | ★1.5k | 可配置且易用的 UITableView/UICollectionView 伸缩 header 视图。 |
ParallaxTableViewHeader | ★1.4k | 当 tableView 滚动时,在 UITableView 的 header 部分产生视差滚动效果。 |
Placeholder/占位符
地址 | Stars/Siwft | 简介 |
---|---|---|
DZNEmptyDataSet | ★11.8k | 下拉式 UITableView/UICollectionView,用于在视图无内容可显示时显示空数据集。DZNEmptyDataSet UITableView/UICollectionView 超类,当视图没有内容的时候用来展示空数据集。DXNEmptyDataSet 能自动工作,只需要确认 DZNEmptyDataSetSource 和用户需要返回的数据。 |
HGPlaceholders | ★1.9k / Y | 可以为项目中的任何 UITableView/UICollectionView 显示和创建占位符及空状态。 |
MMPlaceHolder | ★1k | 非常不错的一个库,显示控件的 PlaceHolder 或者是 UIView 的大小 |
ListPlaceholder | ★465 / Y | Listplacholder 是一个 Swift 库,允许您轻松地将facebook 风格的动画 loading 占位符添加到您的 tableviews 或 collection views 中。 |
WLEmptyState | ★249 / Y | 当 UITableView 的数据集为空时,用于自定义视图的组件。 |
Tag/标签
地址 | Stars/Siwft | 简介 |
---|---|---|
TagListView | ★2.1k / Y | 简单和高度可定制的 iOS 标签列表视图,基于 Swift。 |
SFFocusViewLayout | ★1.7k / Y | SFFocusViewLayout 是UICollectionViewLayout 子类,用于在 UICollectionView 上显示焦点内容,UICollectionView 是所有单元格中那个最大的单元格。 |
TTGTagCollectionView | ★1.3k | 在垂直滚动视图中显示简单文本标签或自定义标签。 |
YNSearch | ★1.1k / Y | 一个高可定制的 search view(搜索视图,通过输入搜索词,可以让页面中的标签高亮显示) 类似于 Pinterest 中的效果,基于 Swift 3。 |
WSTagsField | ★914 / Y | 可以呈现多个不同标签的表单文本域组件。 |
AMTagListView | ★750 | 一个 UIScrollView 子类,允许添加高度可自定义标记的列表。 |
RKTagsView | ★443 | 高度可定制的 iOS 标签视图( 如NSTokenField ),支持编辑,多选、以及自动布局等特性。 |
PARTagPicker | ★360 | 该库提供了一个视图控制器,用于选择和创建 类似于 wordpress 或 tumblr 样式的标签。 |
AKMaskField | ★327 | AKMaskField 是 UITextField 的子类,可以输入固定数量和特定格式的数据。 |
TagCellLayout | ★238 / Y | 左、中、右标签对齐方式的 UICollectionView 布局。 |
AJMyTags | ★227 | 热门标签组件,用于表现修改个人标签,使用UICollectionView实现,动态背景框使用 UICollectionViewFlowLayout 的 DecorationView 实现。 |
TextField & TextView/文本域/文本处理
相关教程
相关框架
文本输入
地址 | Stars/Siwft | 简介 |
---|---|---|
JVFloatLabeledTextField | ★7k | 一个带有浮动标签的 UITextField 子类。 |
TextFieldEffects | ★5.4k / Y | 受 Codrops 启发的自定义UITextFields效果,基于 Swift 构建的,文本框在输入时有个横向弹出的效果,动效不错。 |
PYSearch | ★3.7k | 一个优雅的搜索控制器,取代了iOS(iPhone和iPad)的 UISearchController。 |
SkyFloatingLabelTextField | ★3.6k / Y | 一个漂亮灵活的文本域控件,带有浮动标签功能,基于 Swift 实现。 |
Reel Search | ★2.5k / Y | RAMReel 允许您从列表中选择选项。 |
StatefulViewController | ★2.1k / Y | 基于内容、加载中、错误或空等状态的占位符视图。 |
GrowingTextView | ★2.1k | 一个非常棒的UITextView库. |
NextGrowingTextView | ★1.3k / Y | 针对 iOS 7及更高版本进行了优化的“自动伸缩文本视图”。 |
MLPAutoCompleteTextField | ★1.2k | UITextField 的一个子类,类似于典型的 UITextField,但有一个显着的例外:它管理一个自动补全的建议词下拉表,该表会随着输入更新而更新。 |
RPFloatingPlaceholders | ★1.1k | 一个 UITextField 和 UITextView 的带有占位符的子类,在用文本填充字段时会变为浮动标签。 |
SearchTextField | ★928 | UITextField 的一个子类,实现了自动补建议词列表功能。 |
VENTokenField | ★783 | Venmo 应用程序中使用的那个易用的令牌(token)字段。 |
UITextField-Shake | ★742 / Y | 可以为 UITextField 添加震动效果,可以用户用户输入错误时的提醒。 Swift 版本的 |
RSKGrowingTextView | ★709 | 一个轻量级的 UITextView 子类会,自动增长和收缩(就是说可以自动换行)。 |
AnimatedTextInput | ★707 | UITextField 和 UITextView 的替代品,有动画效果。 |
M80AttributedLabel | ★703 | 富文本demo |
InputBarAccessoryView | ★696 / Y | 一个简单易定制的 InputAccessoryView,用于制作带有自动完成和附件的输入栏。 |
AutocompleteField | ★649 | 支持单词自动补全的 UITextField。 |
KMPlaceholderTextView | ★645 / Y | 一个支持多占位符的 UITextView 子类,支持 Swift。 |
SelectableTextView | ★619 | 一个支持选择(点击)和扩展的文本视图。 |
GrowingTextView | ★603 / Y | 基于 Swift3 和 Swift2.3 实现的UITextView,支持自动伸缩、占位符和长度限制。 |
InstantSearch iOS | ★479 / Y | 一个在 iOS 上构建即时搜索应用程序的小部件和帮助程序库。 |
UITextField-Navigation | ★425 / Y | UITextField-Navigation 可以在键盘上添加上一个、下一个按钮。 |
TextFieldCounter | ★400 / Y | UITextField 字符计数器支持可爱的 UX. |
VMaskTextField | ★384 | VMaskTextField是一个库,可为 iOS 创建输入掩码(不显示原文)。 |
TweeTextField | ★372 | 一个轻量级的文本字段集,具有出色的动画和功能。 |
HTYTextField | ★298 / Y | 具有弹性占位符的 UITextField,文本占位符有个弹出式动画。 |
IQDropDownTextField | ★277 | 基于 UIPickerView 的带有下拉选项的 TextField。 |
ARAutocompleteTextView | ★264 | 一个 UITextView 子类,可自动实时显示文本建议词,完美支持 e-mail 格式 |
ALTextInputBar | ★260 | 可以可以自动伸长的文本输入,适合于消息类型APP的输入。 |
PasswordTextField | ★255 / Y | 一个具有可切换图标的自定义 TextField,可显示或隐藏密码,并有良好的密码策略。 |
Stryng | ★247 / Y | Swift strings taken to a whole new syntax level. |
styled-text | ★232 | StyledText 可简化动态文本的样式。 您不必在每次需要更新文本时都使用属性字符串,而可以在标签上声明性地设置文本样式,当标签文本更新时,标签将自动应用预设样式。 |
AwesomeTextField | ★215 / Y | 一个很棒的 TextField,高度可定制且易于使用, 非常适合作为注册或登录表单。 |
DDRichText | ★206 | 为图文混排提供了一个思路 |
PowerMode | ★165 / Y | 一个很酷的文本输入框. |
CSGrowingTextView | ★165 | 文本框会随着输入字数改变高度 |
RSKPlaceholderTextView | ★157 | 一个 UITextView 的轻量级子类,对占位符做了增强。 |
ModernSearchBar | ★151 | 带有自动补全功能的搜索栏。 |
CBPinEntryView | ★147 / Y | CBPinEntryView 是用Swift编写的视图组件,允许轻松,流畅地输入密码,代码或 pin 码。 |
DTTextField | ★139 / Y | DTTextField 是具有浮动占位符和错误标签的自定义文本字段,支持 Swift3.0 。 |
CMInputView | ★139 | UITextView输入时高度自适应. |
CocoaTextField | ★129 | 根据 Material.IO 2019 大会指南所创建的 UITextField。 |
MBAutoGrowingTextView | ★128 | 基于 UITextView 可自动布局的子类,可以随用户输入而自动增长(就是可以自动换行,支持回车),并且可以设置最大和最小高度,所有这些都无需一行代码。 |
GBigbang | ★113 | 一个分词功能组件/大爆炸/tagFlowView. |
RSFloatInputView | ★100 / Y | 带有平滑动画,且支持图标和分隔符的输入,基于 Swift. |
WCLPassWordView | ★94 | 实现类似微信和支付宝的密码输入框. |
PLCurrencyTextField | ★92 | 一个支持货币格式的 UITextField。 |
BMLine | ★80 | 便捷的为你的view 添加线条。 |
MVAutocompletePlaceSearchTextField | ★68 | 一个可以自动补全的控件,类似于地图应用中的地点选择。 |
Tagging | ★63 / Y | TextView 为 Mention 或 Hashtag(#开头的文本,微博中的话题)提供易于使用的标记功能。 |
AutoCompleteTextField | ★56 | 再有自动补全建议词的文本域控件。 |
TJTextField | ★43 | 一个带下划线和左侧图像的 UITextField。 |
CurrencyTextField | ★40 | 可以自动格式化货币数字 |
NxEnabled | ★32 | 当按钮的可用状态取决于某些元素(例如TextView,TextField)时,这是一个相当常见的情况,该库提供了仅需几行代码即可实现此目的的最简单方法,改库为按钮添加了 enabled 属性。 |
TaniwhaTextField | ★26 / Y | TaniwhaTextField 是一个轻巧美观的 Swift 文本框框架,它具有浮动标签图案,您也可以自定义高度。 |
MeasurementTextField | ★15 | 基于 UITextField 的控件,支持 长度、质量、速度之类的输入。 |
RTLabel | 展示HTML的label |
富文本
- 高仿微信限定行数文字内容 - 采用Autolayout高仿微信纯文字限定行数.
- placeholder_TextView - 带有placeholder的TextView:带有提示信息的textview,使用懒加载的思想,支持扩展、自定义,类似许多APP内部的意见反馈页面.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
cleartext-mac.swift | ★3.3k / Y | 提供一千个常用单词的编辑器。 |
TYAttributedLabel | ★2.8k | TYAttributedLabel。 简单易用的属性文本控件(无需了解CoreText),支持富文本,图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示. |
TFHpple | ★2.7k | TFHpple解析html的轻量级框架. |
RTLabel | ★1.5k | RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Text上的一些东西。32位,很久没有更新了. |
FloatLabelFields.swift | ★1.2k / Y | FloatLabelFields.swift浮动标签输入效果类。 |
WordPress-Editor-iOS | ★1k | 一个文本编辑器 简书和新浪博客都在用. |
ParkedTextField | ★854 | 带固定文本的输入组件. |
FXLabel | ★826 | FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等进行调整. |
MLEmojiLabel | ★813 | 自动识别网址、号码、邮箱、@、#话题#和表情的label。可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号),继承自TTTAttributedLabel,所以可以像label一样使用。label的特性全都有,使用起来更友好更方便. |
M80AttributedLabel | ★703 | M80AttributedLabel实现文字与表情的混排。一般使用气泡作为背景.功能较齐全的attributed lable,支持attributed string和图片、链接、控件的混排. |
MessageThrottle | ★624 | A lightweight Objective-C message throttle and debounce library. |
AttributedLabel | ★511 | 显示性能数量级 UILabel 的 AttributedLabel。无畏无惧、挑战权威. |
SJAttributesFactory | ★362 | 富文本编辑工厂, 让代码更清晰. 文本编辑, 高度计算等等... 简便操作, 让你爽到爆. |
FFLabel | ★347 | 自动检测 URLs, @username, #topic# 等关链词(提供响应扩展)。实用的标签文本小组件. |
GRichLabel | ★229 | 支持选择复制.支持自定义选择弹出menu的富文本Label.内部使用YYAsyncLayer提供异步绘制任务. |
WPAttributedMarkup | ★193 | WPAttributedMarkup is a simple utility category that can be used to easily create an attributed string from text with markup tags and a style dictionary. |
UITextViewDIYEmojiExample | ★148 | UITextView编辑时插入自定义表情-简单的图文混编. |
WFReader | ★146 | 一款简单的coretext阅读器,支持文本选择、高亮以及字体大小选择等. |
FuriganaTextView | ★112 | 实现复杂的日文韩文排版. |
RTLabel | ★47 | 富文本,RTLabel支持64位. |
UUColorSwitch | ★17 | Switch 开关动画效果,当打开开关时,Switch可实现平滑渲染过渡到父视图的效果. |
GJCFCoreText | ★14 | 图文混排. |
CTTextDisplayView | 一个CoreText完成的图文混排视图,主要用于文本中显示表情@#URL等,类似于QQ、微博的评论图文功能. |
page
地址 | Stars/Siwft | 简介 |
---|---|---|
PageMenu | ★5.1k | 一个从滚动视图内放置的其他视图控制器构建的分页菜单控制器(例如 Spotify,Windows Phone,Instagram 中的效果) |
MXSegmentedPager | ★1.1k | 分页滚动,多个分页的pageController效果. |
ZJScrollPageView | ★1.1k | 网易新闻, 腾讯视频, 头条 等首页的滑块视图联动的效果OC版的简单方便的集成. |
YNPageViewController | ★1k | 重构版--特斯拉组件、多页面嵌套滚动、悬停效果、美团、淘宝、京东、微博、腾讯新闻、网易新闻、今日头条等标题滚动视图. |
NinaPagerView | ★538 | 一行代码搞定顶部菜单栏。类似网易新闻、今日头条、虎扑看球等app做的一个顶部菜单栏,每栏中有独立的控制器,可自己定制. |
SCSafariPageController | ★387 | A page view controller component that reproduces Mobile Safari's tab switching behavior. |
SPPage | ★284 | 高性能 PageController. |
XHTwitterPaggingViewer | ★225 | 类似 Twitter 风格的导航栏页面控制器。 |
XBScrollPageController | ★129 | iOS 分页控制器,只需传入标题数组和控制器类名数组即可 |
UIPageControl/分页控制器
相关教程
相关开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
WMPageController | ★2.8k | WMPageController - 是一个方便形成如同网易新闻首页,控制器滑动翻页效果的控制器 |
CHIPageControl | ★2.5k / Y | 一组带有酷炫动画的 page 控件来代替无聊的 UIPageControl。 |
TKRubberIndicator | ★1.3k / Y | 带有橡胶动效的指示器,基于 Swift 4.0。 |
PageControls | ★785 | 这是一个自定义页面控件,可以取代 UIPageControl,其灵感来自于 dribbble,可以使用界面生成器自定义每个控件的外观(颜色、大小和页面)。 |
PageControl | ★108 | UIPageControl 的一个不错的替代品,带动画效果。 |
Page-Control | ★23 | 漂亮、带动画且高度可定制的 UIPageControl 替代品。 |
TYSlidePageScrollView | 多种样式的界面复用 |
Splash/启动页/引导页/新手引导
相关教程
相关开源框架、组件
地址 | Stars/Siwft | 简介 |
---|---|---|
XHLaunchAd | ★3.3k | 开屏广告、启动广告解决方案-支持静态/动态图片广告,mp4视频广告,全屏/半屏广告、兼容iPhone/iPad. |
liquid-swipe | ★2.4k / Y | Cuberto 出的一个控件。 |
CBZSplashView | ★1.5k | Twitter 样式的启动页(欢迎页),缩放后显示主视图。 |
RevealingSplashView | ★1.1k / Y | 有动效的启动页,也是受到 Twitter 启动页的启发。 |
RMParallax | ★627 | RMParallax是一个app启动页引导开源项目,除了细微的翻页视差效果,描述文本的过渡也非常美观(版本新特性、导航页、引导页). |
SKSplashView | ★476 | 创建类似于 Twitter, Uber 和 Ping 的带有动效的启动页控件。 |
ABCIntroView | ★257 | ABCIntroView是一个易于使用的入门类,让你到达主屏幕之前介绍你的应用程序(版本新特性、导航页、引导页). |
CoreNewFeatureVC | ★176 | 版本新特性(引导页),1.封装并简化了版本新特性启动视图!2.添加了版本的本地缓存功能,3.集成简单,使用方便,没有耦合度,4.支持block回调(版本新特性、导航页、引导页). |
ADo_GuideView | ★175 | 转动的用户引导页(模仿网易bobo) 因为没有从app包里抓到@3x的图片,建议在iPhone5模拟器运行,保证效果~ (版本新特性、导航页、引导页). |
TNTutorialManager | ★106 | 内嵌的App使用引导库. |
Wizardry.swift | ★86 / Y | 可重用的方法和框架实现向导式用户界面管理。(版本新特性、导航页、引导页). |
MZGuidePages | ★6 / Y | 自己写的通用导航页,可以直接引入工程使用,请参考案例(版本新特性、导航页、引导页). |
功能演示/介绍/文章等组件/启动页面
地址 | Stars/Siwft | 简介 |
---|---|---|
JazzHands | ★6.5k | Jazz Hands 是用于 UIKit 的基于关键帧的简单动画框架。 可以通过手势,滚动视图,KVO 或 ReactiveCocoa 来控制动画。 |
Onboard | ★6.5k | 一个iOS框架,仅需几行代码即可轻松创建优美而引人入胜的入门体验。 |
Instructions | ★4.3k / Y | 轻松将可自定义的指导标记添加到您的 iOS 项目中,带有气泡效果的浮出文本。 |
EAIntroView | ★3.7k | 可以作为介绍页的组件,可用于 Splash 启动页(欢迎页) |
RazzleDazzle | ★3.2k / Y | 一个简单的基于关键帧的 iOS 动画框架,用Swift编写。非常适合滚动应用介绍。 |
paper-onboarding | ★3k / Y | PaperOnboarding 是一个 material design 样式的滑块。 |
Presentation | ★2.9k / Y | Presentation 可帮助您制作教程,发行说明和动画页面,基于 Swift。 |
BWWalkthrough | ★2.7k / Y | 一个可为应用构建自定义功能演练视图的类。 |
AMPopTip | ★2.6k | 针对给定框架产生动画弹出框,非常适合作为UI提示和入门引导。 |
EasyTipView | ★2.4k / Y | 一个完全可自定义的工具提示视图,基于 Swift。 |
WhatsNewKit | ★1.9k / Y | WhatsNewKit 使您能够轻松展示出色的展示功能。 |
Gecco | ★1.8k / Y | Spotlight 的 iOS 版本,可以需突出显示用于指引的视图元素,基于 Swift,这和我们常见的应用功能引导就比较接近了。 |
MYBlurIntroductionView | ★1.6k | 在 MYIntroductionView 上完善的,用于构建可定制的 app 介绍或者教程页面的框架。 |
VideoSplashKit | ★1.2k | VideoSplashKit - 一个 UIViewController 库,用于使用背景视频创建简单的简介页面。 |
SwiftyOnboard | ★916 / Y | 向项目添加入门引导教程的一种简单方法。 |
ICETutorial | ★814 | 一个功能介绍组件,包含N张全屏图片,您可以滑动以切换到下一页/上一页。 |
GHWalkThrough | ★724 | 一个基于 UICollectionView 的非侵入式介绍页面组件。 |
AlertOnboarding | ★722 | 一个简单而吸引人的 AlertView,说实话,界面还真的简单轻快。 |
JMHoledView | ★551 | 首次启动APP的新手指引 |
ConcentricOnboarding | ★354 / Y | 一套基于 SwiftUI 库的入门展示 flow,可以通过轻点进行操作。 |
SwiftyWalkthrough | ★288 / Y | 在以你的应用程序中创建出色功能演示体验的最简单办法,基于 Swift。 |
Material Showcase iOS | ★269 | 基于 Material Design 指南创建的一个优雅美观的展示视图。 |
OnboardKit | ★264 / Y | 一个可指定的用户入门视图组件。 |
Minamo | ★252 / Y | 一个简单的教程标记库,基于 Swift。 |
CoreLaunch | ★215 | 启动界面进入主画面动画 |
AwesomeSpotlightView | ★190 / Y | AwesomeSpotlightView是一个很好、简单的iOS库,用Swift 5编写。它是高度可定制和易于使用的工具。非常适合应用程序中的教程或教练。 |
InfoView | ★56 / Y | 一个基于Swift的,带箭头的简单信息视图。 |
SwiftyOverlay | ★41 / Y | 一种在应用 UI 组件上添加说明/介绍的快捷方式,不需要任何额外的图片,而且实时生效。 |
Intro | ★32 / Y | 一个iOS框架,可轻松创建简单的动画演示视图,基于 Swift。 |
WVWalkthroughView | ★30 | 一套轻松创建演示,以帮助用户快速入门的工具库。 |
SwiftyOnboardVC | ★18 / Y | 一个情况及的演示组件,将 view controllers 作为子组件,可以无限定制。 |
场景类组件
Login/登录控件
地址 | Stars/Siwft | 简介 |
---|---|---|
LoginKit | ★636 / Y | LoginKit 是一种将登录/注册 UX 添加到iOS应用的快速简便的方法。 |
Cely | ★153 / Y | 一个基于 Swift 的即插即用框架,基于 Swift。 |
LFLoginController | ★148 / Y | 一个自定义的登录屏幕组件,基于 Swift 实现,包括登录、注册、忘记密码等功能。 |
电影选座
地址 | Stars/Siwft | 简介 |
---|---|---|
ZSeatSelector | ★539 / Y | 电影院位置排座位,电影选座。 |
ZFSeatsSelection | ★450 | 高仿猫眼电影选座(选票)模块(High imitation opal film seat selection (vote) module). |
FVSeatsPicker | ★124 | FVSeatsPicker是一个高性能的选座框架,可以直接pod引入,使用时可以直接当做View添加到任何视图控件内部. |
购物车
- shopCarDemobyCX - shopCarDemobyCX一个简易购物车效果,最重要的是可以分单结算,分单个商品结算,代理是主要技术.
- MVVM KVO购物车 - MVVM KVO 购物车(一处计算总价钱).
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
CartDemo | ★260 | CartDemo比较完整的购物车界面及逻辑,商品展示,多选,单选,全选及滑动删除,价格计算. |
ShoppingCartExample | ★154 | 购物车最多star demo. |
shopCartDemo | ★107 | 购物车Demo. |
ZFShoppingCart | ★88 | 仿照美团外卖加入购物车的动态效果. |
ShoppingDemo | ★24 | iOS仿美团外卖饿了吗App点餐动画,购物车. |
shoppingCart1 | ★17 | 仿美团购物车效果。 |
XNQShoppingTrolley | ★17 | 购物车功能 基本功能仿照淘宝的购物车. |
shoppingCart2 | ★12 | 一个购物车demo,包含购物车动画效果、购物车多选、删除、编辑等功能. |
shoppingCart-demo | ★1 | 一个简单的购物车功能实现demo. |
iOS_oShoppingCart_Demo | 简单实现购物车常见的筛选功能. |
通讯录
- 快速查找联系人 - 类似微信联系人搜索的界面,快速查找联系人,并支持点击查询结果.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
PPGetAddressBook | ★510 | 对联系人姓名第二个字做排序处理,对AddressBook框架(iOS9之前)和Contacts框架(iOS9之后)做了对应的封装处理,一句代码搞定联系人的获取与排序. |
PPGetAddressBookSwift | ★86 / Y | 一行代码获取按A~Z分组精准排序的通讯录联系人 Swift版( 已处理姓名所有字符的排序问题) |
User Consent/用户确认组件
地址 | Stars/Siwft | 简介 |
---|---|---|
SmartlookConsentSDK | ★176 | 它提供了一个可配置的控制面板,用户可以在其中选择自己的隐私选项并存储用户对应用程序的偏好。 |
PrivacyFlash Pro | ★81 / Y | PrivacyFlash Pro 可以 分析 iOS Swift 项目的代码以生成隐私策略。 |
主题
地址 | Stars/Siwft | 简介 |
---|---|---|
LEETheme | ★675 | 优雅的主题管理库- 一行代码完成多样式切换. |
PYTheme | ★425 | PYTheme通过NSObject的分类实现使用简单的主题更换. |
EasyTheme | ★22 | 支持动态主题更换,使用简单。 |
Keyboard/键盘
地址 | Stars/Siwft | 简介 |
---|---|---|
IQKeyboardManager | ★14.3k / Y | 防止键盘向上滑动并覆盖 UITextField/UITextView,是一个 Codeless(基本不用写代码) 的放置型组件,支持 Swift。 |
TPKeyboardAvoiding | ★5.7k | 一种用于在iOS中将文本字段移到键盘之外通用的解决方案 |
TPKeyboardAvoiding | ★5.7k | 一种通用解决方案,用于在iOS中将文本字段移到键盘之外。 |
DAKeyboardControl | ★1.6k | DAKeyboardControl在任何只有一行代码的视图中添加键盘感知和滚动解除。 |
IHKeyboardAvoiding | ★1.4k / Y | 一个用于在显示键盘时薄脆任何 UIView 课件的优雅解决方案,不依赖于 UIScrollView,同时兼容 Swift 和 Objective-C。 |
Typist | ★978 / Y | 一个小巧内置的 Swift UIKit 键盘管理器,无需通知中心即可帮助管理键盘的屏幕显示和行为。 |
MMNumberKeyboard | ★943 | 一个简单数字键盘 |
NgKeyboardTracker | ★817 | 一个 Objective-C 的键盘状态跟踪类库。 |
RDRStickyKeyboardView | ★612 | 常用的UI聊天文本输入框封装 |
YYKeyboardManager | ★473 | 一套 iOS 工具类,允许您访问键盘视图组件和跟踪键盘动画。 |
Toolbar | ★450 | 很棒的自动布局工具栏 |
RFKeyboardToolbar | ★423 | 这是一个灵活的UIView和UIButton子类,用于向 UITextFields/UITextViews 添加自定义按钮和工具栏。 |
KeyboardMan | ★347 / Y | 处理键盘通知和动画,支持 Swift,有中文文档。 |
Ribbon | ★243 / Y | 一个简单的跨平台的 工具栏/自定义输入的组件库,可运营在 iOS 和 macOS 上。 |
KeyboardObserver | ★162 | 一个键盘事件监听器,用户不太复杂的时间处理。 |
MakemojiSDK | ★96 | 一个 iOS Emoji 表情键盘 SDK。 |
NumPad | ★70 / Y | 受到 Square 启发的的数字键盘,支持 Swift。 |
KeyboardHideManager | ★55 / Y | 通过轻击视图就可以隐藏键盘你的组件,基于 Swift,代码量少。。 |
RSKKeyboardAnimationObserver | ★43 | 在 UIViewController 系列组件中中显示/取消显示键盘动画。 |
WebView/浏览器视图
相关教程
Web View 相关开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
SVWebViewController | ★2.6k | 另一个内置浏览器,基于 Objective-C。 |
RNCachingURLProtocol | ★950 | webView 离线缓存库。 |
SwiftWebVC | ★299 / Y | 一个简单内置浏览器,基于 Swift。 |
JWNetAutoCache | ★147 | UIWebview使用缓存并且保证实时性此处输入代码。 |
PTPopupWebView | ★111 | PTPopupWebView 是一个简单好用的 WebView,可以作为弹出框使用。 |
Otafuku | ★54 / Y | Otafuku 针对 WKWebView 做了增强,提供了一些有用的工具类,基于 Swift。 |
地址 | Stars/Siwft | 简介 |
---|---|---|
react-native-webview | ★2.6k | 基于 React Native 实现的一个 WebView. |
GRMustache | ★1.4k / Y | 一个类似templateEngine的html渲染工具,可以更加有效的帮助大家完成数据生成HTML的过程. |
HybridPageKit | ★1k | 一个针对新闻类App高性能、易扩展、组件化的通用内容页实现框架. |
WKWebView | ★848 | 取代 UIWebView 的一个插件 - 在苹果发布一个没有 bug 的 WKWebView 之前非常有用。 |
AXWebViewController | ★753 | AXWebViewController 是用于在应用程序中浏览 web 内容的 webViewController。 |
MGTemplateEngine | ★443 | MGTemplateEngine比较象 PHP 中的 Smarty、FreeMarker 和 Django的模版引擎,是一个轻量级的引擎,简单好用。只要设置很多不同的HMTL模版,就能轻松的实现一个View多种内容格式的显示,对于不熟悉HTML或者减轻 工作量而言,把这些工作让设计分担一下还是很好的,也比较容易实现设计想要的效果. |
swift-deep-linking | ★432 / Y | 定义深度链接的简单方式,基于 Swift。 |
highlight | ★360 / Y | 用于 Keynote 的功能丰富的语法高亮。 |
GTMNSString-HTML | ★344 | 谷歌开源的用于过滤HTML标签. |
WKWebView | ★250 | OC版WKWebView 支持POST请求 加载本地页面 直接加载网页 JS交互 集成支付宝/微信URL支付功能 仿微信返回按钮. |
iOS-WebView-JavaScript | ★249 | iOS UIWebView,WKWebView 与 JavaScript的深度交互. |
BAWKWebView | ★198 | 用分类封装 WKWebView,一行代码搞定 request、URL、URLString、本地 HTML文件、HTMLString等请求,一个 block 搞定 title、progress、currentURL、当前网页的高度等等所需. |
WKWebViewExtension | ★178 | An extension for WKWebView. Providing menuItems delete 、support protocol 、clear cache of iOS8 and so on. |
IOSCallJsOrJsCallIOS | ★133 / Y | IOSCallJsOrJsCallIOS:利用iOS7.0后出来的JavaScriptCore framework,webview与Js交互是常见的需求。OC版本与swift版本。《OC JavaScriptCore与js交互》,《Swift JavaScriptCore与js交互》。 |
WKWebViewH5ObjCDemo | ★99 | 学习如何使用OC实现WKWebView与H5交互,并学习其API使用. |
PPHTMLImagePreviewDemo | ★89 | 该Repo用于演示APP中点击HTML的图片来预览图片的功能. |
LYWebviewController | ★44 | 基于UIWebview-简书文章阅读页面的模仿demo. |
WKWebViewTestDemo.swift | ★33 / Y | WKWebViewTestDemo:WKWebView新特性及JS交互,文章讲解。 |
D3Generator | ★27 | D3Generator根据dict字典生成对象。适用webview和push推送时,根据后台传回字典实现动态跳转.实现说明. |
ZFWKWebView | ★15 | 一款封装较为全面的可自定义的WKWebViewController,用户友好,提供丰富的功能和JS交互 |
其他开源 UI 组件/工具
- RedBeard - 一个完整的框架,消除了为制作精美,功能强大的iOS应用程序的所带来的痛苦,有收费版也有免费的,收费版的控件的确很精美。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iCarousel | ★11.6k | 一个简单,高度可定制,数据驱动的 3D 旋转木马(跑马灯)控件,适用于iOS和Mac操作系统。 |
Material | ★11.5k / Y | Material 是一个动画及图形框架,可已让开发人员轻松创建漂亮的 iOS 应用程序,组件还是不少的。 |
FlatUIKit | ★7.9k | 适用于 iOS 的扁平化 UI 组件集合,针对Foundation的扩展。 |
Texture | ★6.4k | 一套平滑异步(响应式)的 iOS UI 框架。 |
FSPagerView | ★5.3k / Y | FSPagerView 是一个好用的滑屏库, 对创建 Banner、Product Show、Welcome/Guide 也、Screen/ViewController 这些页面的滑动效果非常有帮助。 |
Material Components | ★4k / Y | 一套 UI 组件,可以让开发者使用 Material Design。 |
tapkulibrary | ★4k | tap + haiku = tapku, 一个精心设计的 iOS 开源框架,看看demo你就知道干啥的了。 |
RKNotificationHub | ★3.1k | 一种快速向 UIView 添加通知图标的方法,让每个 UIView 都可以成为通知中心。 |
FDStackView | ★2.6k | iOS 中可以直接使用 UIStackView 。 |
BEMCheckBox | ★2.5k | 一个雅致的 iOS 复选框(Checkbox)控件。 |
Navigation Stack | ★2.3k | Navigation Stack 是一个基于"栈"模式的导航控制器 |
OAStackView | ★2.2k | OAStackView 尝试将 stackview 移植回iOS 7+。 OAStackView 旨在复制 UIStackView 中的所有功能。 |
ClassicKit | ★2.2k / Y | 用在 iOS 上的经典电脑风格 UI 组件集合,就像 window 95 那样老土的接口。 |
SwiftTheme | ★1.9k / Y | 一个强大的主体/皮肤管理器。 |
Pulley | ★1.8k | 一个模仿 iOS 10 地图 UI 的库。 |
NotchKit | ★1.8k / Y | 在iPhone X上隐藏缺口(刘海)的简单方法 |
MPParallaxView | ★1.7k / Y | 使用 Swift 实现的视觉差效果控件,有点 3D 的感觉。 |
Pageboy | ★1.5k / Y | 一个简单好用的页面控制器。 |
BAFluidView | ★1.4k | 一个模拟2D流动效果(像流水一样)的 UIView 组件。 |
UberSignature | ★1.2k | 提供一个iOS视图控制器,允许用户用手指以逼真的样式绘制手写签名。 |
Magnetic | ★1.1k / Y | SpriteKit 是个浮动汽包效果的控件,支持拾取功能,主要受到 Apple Music 的启发。 |
Cacao | ★1k / Y | 纯 Swift 实现的跨平台 UIKit(Cocoa Touch)实现(同时支持Linux)。 |
Splitflap | ★1k / Y | 一个分屏显示框架,可用于呈现带有变化效果字母数字文本,例如经常用作机场或火车站的公共交通时间表或带有一些翻牌时钟,也有点像老式的比赛记分牌。 |
GaugeKit | ★980 / Y | 可定制的仪表组件,可以方便地仿制苹果样式的仪表盘。 |
PullUpController | ★978 / Y | 一个 Pull up controller ,像 iOS 地图一样具有多个粘点(sticky points) |
LeeGo | ★964 / Y | 一套声明式,可配置和高度可重用的 iOS UI,使用起来就像制作乐高积木一样,支持 Swift |
LxGridView-oc | ★951 / Y | LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。 |
StatusProvider | ★874 | 一个在 ViewController 和 Views 中处理初始加载、空视图和错误处理的协议。 |
Motif | ★872 | 一个轻量级的可定制的 iOS 样式表框架,样式表基于 JSON 格式。 |
ElongationPreview | ★862 / Y | ElongationPreview 是一个弹出样式的视图控件,支持 3D-Touch 和 手势。 |
EZSwipeController | ★818 | UIPageViewController 类似于 Snapchat/Tinder/iOS 主页的控件。 |
BouncyPageViewController | ★817 | 一个带有反弹效果的滑动分页控件。 |
SCTrelloNavigation | ★805 | iOS上类似 trello 的导航动效框架实现 |
StackViewController | ★804 / Y | 使用 UIStackView 和 view controller 组合来显示列表中的内容的控制器。 |
EPSignature | ★788 / Y | 一个 iOS 的签字组件,基于 Swift. |
WMDragView | ★787 / Y | WMDragView可以自由拖曳的view |
NightNight | ★775 / Y | 一种向 Swift 项目集成夜间模式的优雅方式。 |
JDFlipNumberView | ★740 | 一种翻牌子效果的控件,就像老式比赛记分牌或者日历。 |
DrawerKit | ★735 | DrawerKit允许一个 UIViewController 以一种类似于苹果地图的方式模式呈现另一个 UIViewController。 |
VisualEffectView | ★714 / Y | 带有颜色的 UIVisualEffectView 子类。 |
Shiny | ★689 / Y | 彩虹效果视图(灵感来自苹果Pay)。 |
APParallaxHeader | ★636 | UIScrollView、UITableView头部视图视差效果 |
SMSegmentView.swift | ★625 / Y | 高可定制化,既支持横向,也支持纵向布局的图文 Segment Control 组件,节选器。 |
OverlayContainer | ★604 / Y | 用于基于叠加层界面的开发,例如 iOS 12 Apple Maps 或 Stocks 应用程序中的界面。 |
AKPickerView-Swift | ★568 / Y | 一款小而美的 3D 效果选择器。 |
SwViewCapture | ★557 / Y | 一个不错的iOS视图捕获Swift库,可以捕获所有内容。 |
WZDraggableSwitchHeaderView | ★556 | 可以显示 viewControllers 切换时的状态。 |
BackgroundVideoiOS | ★554 / Y | 一个可以让你为 iOS 视图添加背景视频的对象,支持Swift 和 Objective-C,很像动态壁纸。 |
Reactions | ★549 | 一个高度可定制的表情反馈控件,让用户可以有更多的方式表达心情,有点像 Facebook。 |
CardStackController | ★527 | 一个将 view controller 显示为卡片的控件,该控件应用在 Jobandtalent 这个 APP 中。 |
Haptica | ★518 / Y | 一个简单的触觉反馈生成器。 |
Pages | ★461 | 一个分页控件,使 UIPageViewController 用起来更简单。 |
FAQView | ★450 / Y | 一个 iOS FAQ 界面控件,基于 Swift. |
URWeatherView | ★433 | 在 View 上创建天气效果。 |
UIView-draggable | ★420 | 让 UIView 具备可拖拽的能力。 |
ShadowView | ★372 / Y | 在UIView上简化阴影管理。 |
MEVHorizontalContacts | ★357 | 是 iOS UICollectionViewLayout 子类,用来显示具有可配置菜单项的联系人列表。 |
SegmentedProgressBar | ★342 | Snapchat / Instagram Stories 风格的带动画的指示器。 |
SwiftyUI | ★324 / Y | 高性能且轻量的 UIView, UIImage, UIImageView, UIlabel, UIButton(每个组件只有一个类)等。 |
PageController | ★321 / Y | 无限分页(滚动)控制器,可以实现内容体和标题栏的延迟滚动。 |
fluentui-apple | ★302 | 基于 Fluent Design System 的 UI 组件库,用于创建微软风格 UI 组件,微软出品的。 |
Macaw-Examples | ★292 | 针对 Macaw 的使用例子。 |
HGRippleRadarView | ★278 | 一个漂亮的的雷达视图,可以显示附近的项目(用户,餐厅,0等),还有涟漪动画,且完全可定制。 |
SwiftVideoBackground | ★270 / Y | 一个易用的 UIView 子类,用来实现视频背景。 |
AZExpandableIconListView | ★266 / Y | 一个可折叠组件(折叠效果)的 View 扩展,基于 Swift |
ISPageControl | ★254 | 类似于 Instagram 中使用的页面控件。 |
EVFaceTracker | ★245 | 可以实时根据人脸的角度,动态计算控件距离和角度(比如阴影),有点增强现实的感觉。 |
ConfettiView | ★231 | 一个用户创建五彩纸屑满天飞效果的控件。 |
FlourishUI | ★225 | 一套高可配置、开箱即用的 UI 套件。 |
IGColorPicker | ★209 / Y | 一个可自定义的 iOS 颜色拾取器,基于 Swift。 |
Newly | ★199 | Newly 用于添加类似于 Twitter/Facebook/Linkedin 的下拉样式按钮。 |
HoneycombView | ★196 / Y | HoneycombView 是用来显示类似 Honyecomb 布局的 iOS UIView,由 Swift 实现。★ |
HorizontalDial | ★193 / Y | 像Instagram一样的水平滚动拨号控件。 |
KCJogDial | ★193 | 提供控制功能的 UIView,类似一个转轮控制器。 |
ApplyStyleKit | ★183 / Y | 一个优雅的样式框架,基于 Swift 方法链。 |
NightView | ★163 | 是一个开源库,它在 iOS 上生成美丽、随机、星空,制作夜景不错。 |
EXTView | ★157 | 使用 IB_DESIGNABLE 和 IBInspectable 为 Interface Builder 提供了 UIView 扩展。 |
DCKit | ★141 / Y | 一组 iOS 控件集,具有有用的 IBInspectable 属性, 基于 Swift。 |
phone-number-picker | ★140 / Y | 一个简单易用的电话号码拨号控件,可以输入国家地区码,有点像 WhatsApp。基于 Swift。 |
DateRangePicker.swift | ★125 / Y | 可能是目前最好的 OS X 日期选择器,高扩展性,界面风格看起来很舒服,不过注意,是 OS X 开发专用。 |
DistancePicker | ★118 / Y | 一个使用Swift编写的自定义控件,可通过平移手势选择地理距离,主要用在地图上。 |
AZEmptyState | ★87 | 一个 UIControl 子类,用于简化空 state 的创建。 |
StackLayout | ★77 | 一种替代 UIStackView 的通用自动布局模式。 |
PPNumberButtonSwift | ★69 / Y | 仿京东淘宝商品数量的加减按钮 Swift 版,可定制程度高,使用简单! |
Panda | ★65 | 可以用声明方式创建视图层次结构。 |
YJFavorEmitter | ★62 | 一个非常好用的点赞粒子发射器 |
AmazingBubbles | ★59 | 类似于 Apple Music 的汽包采集器,且有动画效果。 |
GDGauge | ★55 | 完全可定制,美观,易用的仪表盘控件。 |
YPDropMenuViewDemo.swift | ★54 / Y | 一款DropMenu,menuView,类似之前美团的下拉菜单,支持swift2.2,因为用到iOS8.的毛玻璃。所以想支持到iOS8.0,支持自定义,支持等宽排列,支持从左向右排列。 |
NotchToolkit | ★52 | 允许开发人员以创造性的方式使用iPhone X 缺口。 |
Overlay | ★49 / Y | Overlay 可以让你想编写 Swift 代码一样来编写 CSS。 |
Sejima | ★47 | 另一组 UI 组件集合。 |
Curry | ★45 | Curry 是一套针对 Foundation 和 UIKit 的功能增强框架。 |
Mixin | ★43 | 一个面向协议编程的框架,可以轻松向现有类中添加扩展。 |
BatteryView | ★36 / Y | 一个简单的电池状UIView。 |
LayoutTrait | ★31 / Y | swift 一个小类库。 做iPad 多任务分屏 适配的同学可以看一下。 |
HamsterUIKit | ★25 | 一个简单的 iOS 图表 A 组件。 |
ViewComposer | ★25 | let lbl: UILabel = [.text("Hello"), .textColor(.red)] - 使用表示视图属性的枚举的数组字面量创建视图。 |
GDCheckbox | ★20 | 一个易于使用的自定义复选框/单选按钮组件,支持IBDesign Inspector。 |
N8iveKit | ★18 / Y | 一组让 iOS 开发变得更加有趣的框架,基于 Swift |
Shades | ★13 | 可以轻松地向 UIView 中添加阴影、边框和圆角。 |
STAControls | ★12 | 一个 UIControl 易用的子类, (就像 UIControls 的 Three20/NimbusKit ) ,基于 Objective-C. |
JMRoundedCornerSwift | ★12 / Y | swift版本:UIView设置不触发离屏渲染的圆角! |
Spots | ★11 / Y | Spots 一个跨平台的视图控制器框架,用于构建基于组件的 UI,让开发更搞笑,功能很完备,但貌似还没有火起来。 |
LCUIComponents | ★7 | 可以在屏幕上其他内容(例如带有数据列表的弹出窗口)之上创建临时视图的框架。 |
LMArticleViewController | ★6 | 一个 UIViewController 子类,可以让新闻,博客之类的文章更好看。 |
KPActionSheet | ★6 | 一个默认动作表的替代品,但简单易用。 |
PanelDemo | 仪表盘,模拟汽车的车速仪表盘,一些简单的数学知识。 |
文本处理
地址 | Stars/Siwft | 简介 |
---|---|---|
SlackTextViewController | ★8.5k | 一个非侵入式的 UIViewcontroller 子类,提供了一个可以随文字长度变化的大小的文本框和一些其他有用的消息特性,手势识别、自动填充、多媒体合并,SlackTextViewController 可以替代 UITableViewController & UICollectionViewController。 |
YYText | ★8.3k | 一个强大的 iOS 文本处理框架,用于显示和编辑富文本。 |
Nimbus | ★6.5k | Nimbus是一个面向经验丰富的iOS软件设计师的工具包,包括富文本处理,超链接,Web View 等相关功能,three20 停止更新后的替代品。 官网 |
DTCoreText | ★5.9k | 利用 CoreText 使用 HTML 代码的方法。 |
PhoneNumberKit | ★3.7k / Y | 一个用于解析、格式化、校验国际电话号码的 Swift 库,其主要是受到 Google libphonenumber 的启发。 |
ZSSRichTextEditor | ★3.5k | 一个漂亮的 iOS 文本所见即所得编辑器,支持多颜色的文本高亮。 |
BonMot | ★2.7k / Y | Swift中漂亮,简单的属性字符串。 |
SwiftRichString | ★2.3k / Y | 一个 Swift 优雅无痛的属性字符串管理库,基于 Swift 字符串。 |
Twitter Text Obj | ★2.3k | Twitter 文本处理库,基于 Objective-C 实现。 |
libPhoneNumber-iOS | ★2.1k | libphonenumber (Google 的电话号码处理框架) 的 iOS 实现。. |
TextAttributes | ★2.1k / Y | 一种更简单的组合属性字符串的方法。 |
RichEditorView | ★1.6k / Y | RichEditorView 是一个简单的模态的视图组件,内嵌为 UIView 的子类,用于富文本编辑。 |
MarkdownView | ★1.5k / Y | 一个 iOS Markdown 视图控件。 |
Down | ★1.5k / Y | 一个使用 Swift 实现的极快的 Markdown 渲染工具,基于 cmark。 |
SwiftString | ★1.5k / Y | Swift的全面,轻量级字符串扩展库。 |
SwiftyAttributes | ★1.2k / Y | 一个 Swift 扩展,使得属性字符串的使用变得轻而易举。先进的 API ,操作 attributed 字符串的利器。 |
MMMarkdown | ★1.2k | 一个将 Markdown 转成 HTML 的 Objective-C 静态库。 |
Format | ★1.2k / Y | 一个 Swift 文本格式化工具包。 |
SwiftyMarkdown | ★1.2k / Y | 将 Markdown 文件或字符串转成 NSAttributedString。 |
CocoaMarkdown | ★1.1k | 面向 iOS 和 macOS 的 Markdown 解析渲染程序。 |
Highlightr | ★943 | 一个 iOS 和 macOS 语法高亮工具,支持176种语言、79种样式。 |
Money | ★918 / Y | 用于处理货币和 Swift 类型。 |
Highlighter | ★897 / Y | 可以高亮任何你想搞高亮的东西。 Highlighter 会神器地找到对饮的UI对象,如在 UITableViewCell 或其他类中的 UITextView, UITexTfield, UIButton 等。 |
Attributed | ★715 / Y | 一个现代的 Swift 微型框架,用于属性字符串 strings。 |
Atributika | ★687 / Y | 一种创建 NSAttributedString 的简单方式,基于对类 HTML 标签, hashtags, mentions, RegExp(正则)NSDataDetector。 |
Mustard | ★685 | 一个灵活的字符串分割而工具,分割过。 |
fuse-swift | ★683 / Y | 一个轻量级的模糊搜索库,无任何依赖。 |
NSStringEmojize | ★645 | 用于将 Emoji 代码转成对等的 Unicode 代码的工具, 仅支持 Objective-C。 |
MarkdownTextView | ★643 | 一个富 Markdown 文档编辑控件。 |
Notepad | ★628 / Y | 一个完全主体化的 markdown 编辑器,支持实时语法高亮。 |
Guitar | ★628 / Y | 一个使用 Swift 的跨平台字符串库。 |
Translucid | ★548 / Y | 一个轻量级的库,可用于将图片设置成背景文字的图形。 |
MarkdownKit | ★507 / Y | 一个简单的 Markdown 解析器,基于 Swift 实现。 |
Marklight | ★499 / Y | 适用于 iOS 的 Markdown 语法高亮。 |
Input Mask | ★446 / Y | 一个基于模式的用户输入数据格式化,解析和校验工具。 |
Reductio | ★394 / Y | Swift 中的文本自动摘要生成器。 |
AttributedTextView | ★379 / Y | 一个创建支持多个链接(包括主题标签和提要)的属性 UITextView 的一种最简单方法。 |
EFMarkdown | ★371 | 一个轻量级的 iOS Markdown 库。 |
Heimdall | ★366 | Heimdall 是一个用于简单加密/解密操作的 Security 框架的封装。 |
Smile | ★340 / Y | Swift 中使用 Emoji 表情。 |
DTRichTextEditor | ★332 | iOS 中的一个富文本编辑器。 |
Marky Mark | ★217 / Y | 一个高度可定制的原生 Markdown 解析及渲染工具,基于 Swift。 |
PostalCodeValidator | ★202 | 支持200多个地区的邮政编码验证器。 |
SwiftValidators | ★194 / Y | 一套 Swift 字符串校验工具,灵感来自于 validator.js. |
Pluralize.swift | ★169 / Y | 强大的 Swift String 单数转换复数扩展。 |
Sprinter | ★162 / Y | 用于在 iOS 和 macOS 上格式化字符串的库。 |
Croc | ★119 / Y | 用于 Emoji 解析和查询的轻量级 Swift 库。 |
pangu.Objective-C | ★113 | 使用 Objective-C 实现偏执文本间距。 |
SZMentionsSwift | ★93 / Y | 处理 mentions 的 Swift 库。 |
EmojiKit | ★87 / Y | 在 Swift 中轻松进行表情(emoji)符号查询。 |
Emojica | ★87 | 用自定义表情符号集替换字符串中的标准表情符号, 例子 Twemoji 或 EmojiOne. |
NBEmojiSearchView | ★87 | 一个支持搜索并且可以集成到文本控件中的 emoji 下拉列表视图。 |
SmarkDown | ★68 / Y | 一个 markdown 语言的纯 Swift 实现。 |
StringStylizer | ★66 | StringStylizer 通过方法链和运算符使 NSAttributedString 更加直观,易用。 |
Tribute | ★59 | NSAttributedString 的无程序化创建方式。 |
NoOptionalInterpolation | ★47 / Y | 除去字符串插值中的“ Optional(...)”和“ nil”。 。 |
Roman | ★36 / Y | 在 Swift 中的无缝罗马数字转换。 |
ISO8601 | ★19 / Y | 一个超级简单的 ISO8601 格式日期格式化工具,基于 Swift。 |
StyleDecorator | ★17 / Y | 通过将属性连接到必要部分来简化字符串的设计,支持 Swift。 |
KKStringValidator | ★17 | 快速见得的字符串验证程序,基于 UITextField 的扩展。 |
ISO8859 | ★13 / Y | 将 ISO8859 1-16 编码的文本转成 String 类型字符串,基于 Swift 实现。面向 iOS, tvOS, watchOS 和 macOS. |
RealTimeCurrencyFormatter | ★13 | 一个基于 ObjC 的国际国币格式格式化工具。 |
SZMentions | ★10 / Y | 一个 mention 库,不过已经图推荐使用,停止维护了,可以使用 SZMentionsSwift |
CodeMirror Swift | ★7 / Y | 适用于 macOS 和 iOS 的代码镜像的轻量级封装,支持语法突出显示和主题。 |
FormatterKit | ★5 | stringWithFormat: 用户适用于复杂文本格式化的工具。 |
地图
地图相关教程
地图相关框架
- 百度地图iOS SDK - 一套功能丰富的地图开发工具包。
- 百度鹰眼轨迹iOS SDK - 一套能够进行绑路纠偏的轨迹开发工具包。
- 打开自带地图、百度地图、腾讯地图 - 打开自带地图、百度地图、腾讯地图。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Mapbox GL | ★3.8k | 一个 iOS 上使用 OpenGL 渲染 Mapbox 矢量地图块的框架。 |
Route-me | ★1.3k | iOS 开源地图框架 |
ArcKit | ★1.3k / Y | Location and activity recording framework for iOS |
GEOSwift | ★1.2k / Y | Swift地理引擎。 |
Cluster | ★1.1k / Y | 简易地图注释聚类。 |
FlyoverKit | ★657 / Y | FlyoverKit使您可以零维护在MKMapView上呈现令人惊叹的360°飞越视图,同时保持完整的配置可能性。 |
WhirlyGlobe-Maply | ★648 | 适用于iOS的3D地球和平面地图SDK。 该工具包具有用于对地图或地球进行细粒度控制的打来那个API,它也可以读取各种GIS格式的数据。 |
ClusterKit | ★448 | 一个针对MapKit,Google Maps和Mapbox的iOS地图集群框架。 |
PXGoogleDirections | ★262 / Y | 适用于iOS的Google Directions API帮助程序,Swift编写。 |
NAMapKit | ★260 | 允许你在 iPhone 应用使用自定义地图,并尝试模仿 Mapkit 框架的一些行为。 |
CMMapLauncher | ★195 | 用于 iOS 中在各种地图应用中显示方向的便捷框架。 |
MapViewPlus | ★146 / Y | 使用任何自定义视图作为带有精美动画的MKMapView的自定义标注视图。 另外,可以轻松地将任何图像用作注释视图。 |
YJLocationConverter | ★128 | 中国国测局地理坐标(GCJ-02)<火星坐标>、世界标准地理坐标(WGS-84) 、百度地理坐标(BD-09)坐标系转换工具类. |
JDSwiftHeatMap | ★105 / Y | JDSwiftMap是IOS本机MapKit库。 您可以轻松制作高度定制的HeatMap。 |
MSFlightMapView | ★40 | 在Google地图上添加测地线飞行并为其设置动画。 |
地图相关SDK
图形/绘图工具
相关教程
相关框架
- CoreGraphics、CoreAnimation、SVG、CGContext库、工具*
地址 | Stars/Siwft | 简介 |
---|---|---|
Macaw | ★5.2k / Y | 强大且易于使用的矢量图形库,支持SVG,基于 Swift |
SVGKit | ★3.8k | 在 iOS / macOS (当前仅支持 iOS )通过本地渲染显示 SVG 图片,包括和 SVG 交互的功能 。 |
jot | ★1.8k | 一个易于使用的用于在图片上绘图和添加文字的 iOS 框架。 |
SwiftSVG | ★1.5k / Y | 具有多个接口选项(字符串、NS/UIBezierPath、CAShapeLayer和NS/UIView)的单通道SVG解析器。 |
NXDrawKit | ★1.3k | NXDrawKit 是 iOS 上一个简单好用的绘图工具. |
Snowflake | ★913 / Y | Swift 的 SVG 库. |
YYAsyncLayer | ★602 | 用于异步渲染和展示的 iOS 工具类 |
Drawsana | ★418 | 用于构建栅格绘图和图像标记视图的iOS框架。 |
EPShapes | ★393 | 在界面生成器中设计形状。 |
EZYGradientView | ★372 | 无需一行代码即可创建渐变和模糊渐变。 |
InkKit | ★369 / Y | 一次编写,多平台绘图,支持 iOS 和 macOS. |
ProcessingKit | ★312 | 可视化设计库,用于 iOS 和 OSX. |
AnimatedGradientView | ★247 | 一个简单的框架,可向您的iOS应用添加动画渐变。 |
MKGradientView | ★146 / Y | 基于核心图形的渐变视图,能够生成用Swift编写的线性(轴向),径向(圆形),圆锥形(角),双线性(四点)渐变。 |
PKCoreTechniques | ★141 | 在慕尼黑工业大学的2012 iOS游戏设计研讨会上的演讲配套代码,针对 CoreGraphics + CoreAnimation。 |
MPWDrawingContext | ★97 | CoreGraphics CGContext的 Objective-C 封装。 |
GraphLayout | ★88 | 图形可视化的UI控件,基于 Graphviz。 |
Rough | ★76 / Y | 使您可以绘制粗略的手绘风格。 |
AEConicalGradient | ★69 / Y | 用Swift编写的渐变层。 |
BlockiesSwift | ★44 / Y | 个人资料图片生成器 |
Graphicz | ★41 / Y | 一套轻量级的针对 CoreGraphics 的补充框架。 |
DePict | ★34 / Y | Swift的一个简单的、声明式的绘图框架! |
HxSTLParser | ★18 | 针对 SceneKit 的 STL 加载器. |
图表
漂亮、简单且可定制的图表工具
图表开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
ios-charts | ★30.8k | 一个强大的图表框架,MPAndroidChart 在 iOS 上的移植。 |
Charts | ★22.8k / Y | 一个功能强大的图表框架 |
PNChart | ★9.7k | 一个简单而漂亮的图表库,各种各样的图表,用于Piner和CoinsMan |
Scrollable-GraphView | ★5.1k / Y | iOS的自适应可滚动图形视图,用于可视化简单的离散数据集,基于 Swift 实现. |
Scrollable-GraphView.swift | ★5.1k / Y | 灵动感十足的自适应、可定制滚动曲(折)线图表库。 |
AAChartKit | ★3.9k | 极其精美而又强大的 iOS 图表组件库,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表,完全满足… |
JBChartView | ★3.8k | 基于iOS的折线图和条形图图表库。 |
BEMSimpleLineGraph | ★2.7k | 一套优雅美观的的iOS 图表库。 |
core-plot | ★2.7k | 一个二维图形库,高度可定制,能够绘制多种类型的图形。 |
SwiftCharts | ★2.1k / Y | 易用且高度可定制的图表库为iOS。 |
XYPieChart | ★1.8k | iOS应用程序的简单动画饼图。 |
TEAChart | ★1.2k | 简单直观的iOS图表库。贡献图、时钟图和条形图 |
Graphs | ★970 | 轻量级图表视图生成器。 |
chartee | ★953 | 一套移动平台的图表库。 |
SwiftChart | ★892 / Y | iOS的折线图和面积图库 |
FSLineChart | ★849 | iOS的折线图库。 |
ZFChart | ★835 | 模仿PNChart写的一个图表库,用法简单,暂时有柱状图,线状图,饼图三种类型,后续可能会更新新的类型. |
XJYChart | ★826 | 一个标量的图标库,支持动画,点击滑动和区域高亮等功能。 |
EatFit | ★651 | Eat-fit 是受 Google-fit 启发的具有吸引力的数据表示的一个组件。 |
EChart | ★650 | iOS/iPhone/iPad图表,图表。支持事件处理和动画。 |
RealtimeGradientText | ★634 | Fun With CALayer Mask 刚好今天开源了一个有趣的项目 RealtimeGradientText,所以也好聊一下 CALayer 的 Mask,说明. |
Swift LineChart | ★584 / Y | 用Swift编写的iOS折线图库。 |
MagicPie | ★534 | 很棒的基于层的饼图。速度惊人,完全可定制,MagicPie 还提供令人惊叹的动画。 |
FSInteractiveMap | ★532 | 在iOS上可视化矢量地图并与之交互的图表库,就像 Geochart,只不过是 iOS 版本的. |
PieCharts | ★458 | 易于使用和高度可定制的iOS饼图库。 |
ANDLineChartView | ★424 | ANDLineChartView 是一个易用的,基于视图的类来显示动画折线图 |
JYRadarChart | ★418 | iOS开源雷达图的实现 |
YOChartImageKit | ★406 | 支持在watchOS上绘制图表,看它最近更新挺勤快的,可以关注一下. |
TWRCharts | ★373 | 一个用于ChartJS的iOS包装器,利用本地Obj-C代码的强大功能轻松构建动画图表。 |
KLine | ★317 | (CAShapelayer + UIBezierPath)绘制K线支撑横竖屏切换、刷新、长按、缩放、masonry适配,完美支持金融产品 非常的流畅,占用内存少,使用矢量进行填充K线,持续更新. |
TKRadarChart | ★193 / Y | 一个基于 Swift 的开源雷达图库. |
JTChartView | ★126 | JTChartView 是一个完全可定制的轻量级图表解决方案。 |
Dr-Charts | ★91 | Dr-Charts 是一个高度可定制,且易用的交互式图表框架,基于 Objective-C。 |
ChartProgressBar | ★75 | 使用进度条样式绘制图表。 |
DDSpiderChart | ★75 / Y | 易用且可定制的蜘蛛图(雷达图)库,基于 Swift 实现. |
CoreCharts | ★72 | CoreCharts 是一个简单而强大的苹果产品图表库。 |
CSPieChart | ★39 | PieChart 的 iOS 开源版本。非常易用且可定制化 |
SMDiagramViewSwift | ★38 / Y | 在一个圆图中满足不同数据视图的iOS应用程序的可爱和非常灵活的库。 |
FlowerChart | ★15 | 具有自定义外观动画的花形图表,完全矢量化。 |
图表相关资源
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-ios-chart Objective-C | ★1.5k | 针对 Objective-C 的图表资源列表,有很多开源框架。 |
awesome-ios-chart Swift | ★1.5k / Y | 针对 Swift 的图表资源列表,有很多开源框架。 |
动画、转场效果
动画
动画相关开源框架
- AppAnimations - 一组 iOS 动画库,目前有 58 个动效
- Canvas - 无需代码就可以在 Xcode 中显示动画 http://canvaspod.io,很强大。
- Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组.
- cadisplaylinkanduibezierpath - CADisplayLink结合UIBezierPath的神奇妙用.
- 简单实用的无限循环轮播图 - 简单实用的无限循环轮播图.
- 渐变特效文字 - 做了一个仿iPhone的移动滑块来解锁的渐变特效文字,还有一个类似ktv歌词显示的文字特效.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Pop | ★19.8k / Y | Pop 是一个针对 iOS, tvOS 和 OS 的动画效果扩展库,facebook 出品,支持 Swift 和 Objective-C |
Lottie | ★19.7k / Y | 一个iOS库,用于实时渲染 Adobe After Effects 中的原生矢量动画。 |
Spring | ★13.7k / Y | 一个用来简化动画效果实现的类库,使动画在简单性、可链接性与声明性方面有所提高,基于 Swift。 |
Shimmer | ★9.2k | 一种向 iOS 添加闪烁效果的简单方式,Facebook出品。 |
IBAnimatable.swift | ★8.4k / Y | 第三方开源库IBAnimatable可以帮助我们在Interface Builder和Swift Playground里面设计UI, 交互, 导航模式, 换场和动画。整个App 都是通过 IBAnimatable 在Interface Builder 设计完成,没有任何一行代码。 |
IBAnimatable | ★8.4k / Y | 通过 IBAnimatable 不需要一行代码就可以在 Interface Builder 中构建应用程序,可以用来设计 UI 原型,包括交互,导航、动画等功能。 |
ViewAnimator | ★5.8k / Y | 只需一行就可以使您的UI栩栩如生。 |
popping | ★5.6k / Y | popping是一个POP使用实例工程. |
AwesomeMenu | ★5.1k | 该项目主要是使用 CoreAnimation 还原了 Path menu 的动画效果 Path 2.0 menu using CoreAnimation 😃 https://github.com/levey/AwesomeMenu |
awesome-ios-animation | ★4.7k | iOS Animation 主流炫酷动画框架(特效)收集整理 收集整理了下iOS平台下比较主流炫酷的几款动画框架. |
fantastic-ios-animation.swift | ★4.4k / Y | 基于 UI 组件类别分类,且带精彩动画效果的 iOS 组件库集合。 |
Advance.swift | ★4.4k / Y | 简单易用、功能强大的动画框架库。在手势交互、帧动画、自定义动画及仿真类型将是不错的选择。 |
Advance | ★4.4k / Y | 一个强大的 iOS 动画库。 |
AnimatedCollectionViewLayout | ★3.9k | 一个 UICollectionViewLayout 子类,可将自定义过渡效果/动画添加到 UICollectionView。 |
XHLaunchAd | ★3.3k | XHLaunchAd开机启动广告解决方案-支持静态/动态图片广告,mp4视频广告,全屏/半屏广告、兼容iPhone/iPad. |
Pastel | ★3.2k / Y | 类似于 Instagram 的渐变动画效果。 |
JHChainableAnimations | ★3.2k / Y | 一套链式语法的 Objective-C 动画库,和Masonry类似,对核心动画进行了封装,链式动画,强烈推荐。 |
Spruce iOS Animation Library | ★2.9k / Y | 一个 Swift 库,用于在屏幕上编排动画。 |
Gemini | ★2.8k / Y | Gemini 具有丰富滚动效果的动画框架,基于 Swift。 |
EasyAnimation | ★2.8k / Y | 一个 Swift 动画库,将 UIView.animateWithDuration() 的能力提升到一个全新的水平, 主要包括该图层,弹簧效果,动画层的链接,以及将视图和图层混合的的能力。 |
Animations | ★2.8k | The Animation Collection. |
Stellar | ★2.8k / Y | 一套不错的物理动画库,基于 swift. |
15DaysofAnimationsinSwift | ★2.5k / Y | 15DaysofAnimationsinSwift动画。 |
TKSubmitTransition | ★2.2k | 基于 UIButton 的登录加载、返回按钮转场动画组件及示例. |
TABAnimated | ★2.1k | 一个由iOS原生组件映射出骨架屏的框架,包含快速植入,低耦合,兼容复杂视图等特点,提供国内主流骨架屏动画的加载方案,同时支持自定制动画. |
PeekPop.swift | ★2k / Y | 3DTouch动画组件。 |
FillableLoaders | ★2k | 基于 CGPaths 可定制个性化填空式装载类库。附水波上涨式示例. |
ZLSwipeableViewSwift | ★1.9k / Y | ZLSwipeableView - ZLSwipeableViewSwift在Tinder and Potluck中的动画效果实现思路(连续卡片翻页效果),最贴心的是作者提供了OC和Swift两个版本来供开发者使用,非常丝滑顺畅的效果。 |
YapAnimator | ★1.9k / Y | 一个快速优化的基于物理的动画库。 |
ZLSwipeableViewSwift | ★1.9k / Y | swift 卡片堆叠效果的实现(ZLSwipeableView)】可实现类似Tinder和Potluck应用程序的卡片堆叠效果,该项目基于ZLSwipeableView objective-c实现。1.自定义动画。2.自定义滑动切换。3.自定义方向。4.撤销。 |
RZTransitions | ★1.9k | iOS View Controller 过场动画库。 |
DKChainableAnimationKit | ★1.9k / Y | 一个使用链式语法的动画库,让动画编程更容易,基于 Swift。 |
RZTransitions | ★1.9k | 一个可自定义 iOS View Controller 动画和交互的库。 |
PulsingHalo | ★1.8k | 一个用于创建脉冲动画的 iOS 组件。 |
CKWaveCollectionViewTransition | ★1.8k / Y | 一个在多个 UICollectionView 之间实现玻浪切换效果的的工具。 |
awesome-animation | ★1.7k | 动效库. |
Interpolate | ★1.7k / Y | 通过手势驱动的插画动效,基于 Swift。 |
MotionBlur | ★1.5k | MotionBlur 可以在 iOS 动画添加动态模糊效果。 |
LSAnimator | ★1.5k / Y | 一个易于读写的多链动画套件,适用于 Objective-C 和 Swift. |
SAConfettiView | ★1.4k | 一种五彩纸屑从天而降的动画库,有多种样式 |
KYAnimatedPageControl | ★1.3k | 除了滚动视图时PageControl会以动画的形式一起移动,点击目标页还可快速定位。支持两种样式:粘性小球和旋转方块。 |
AFViewShaker | ★1.2k | 左右震动 |
SXWaveAnimate | ★1.2k | 实现非常美观的灌水动画. |
Ease | ★1.2k / Y | 轻轻松松实现所有动画。 |
AGGeometryKit | ★1.2k | 几何图形框架,把AGGeometryKit和POP结合起来使用,可实现非常棒的动态和动画. |
fave-button | ★1.2k / Y | 给button增加了很多可爱的动画. |
Pulsator | ★1.2k / Y | iOS 脉冲动画。 |
MMTweenAnimation | ★1.1k | 一个基于 POP 的扩展,提供了 10 种自定义的动效. |
MMTweenAnimation | ★1.1k | facebook POP的自定义动画扩展(基于POPCustomAnimation) 提供10种函数式动画. |
LoadingShimmer | ★1.1k / Y | 只需一行代码就可以为任何视图添加闪烁效果,可以用在加载指示器上。 |
Popsicle | ★1.1k / Y | 可扩展的 Swift 插入式画框架。 |
AnimationEngine | ★1.1k | 可以在 iOS 上构建高级的自定义动画, |
LayerPlayer | ★1.1k | 一款全面展示核心动画 API 示例项目(上架应用)。包括 CALayer, CAScrollLayer, CATextLayer, AVPlayerLayer, CAGradientLayer, CAReplicatorLayer, CATiledLayer, CAShapeLayer, CAEAGLLayer, CATransformLayer, CAEmitterLayer 等使用的互动演示. |
TweenKit | ★996 / Y | 一套 iOS 动画库,基于 Swift。 |
KYCuteView | ★986 | 实现类似QQ消息拖拽消失的交互+GameCenter的浮动小球效果,分析. |
Sica | ★942 / Y | Core Animation 的简单接口, 可以逐次并行运行的类型安全的动画库。 |
DCAnimationKit | ★788 | 一个iOS动画库,简单易用,包括 Tada,脉冲,震动。。等十几种动画夏鸥讴歌 |
ZoomTransitioning | ★668 | 一个可以自定义图片缩放的动画库 |
GoogleNewsStandAnimation | ★659 / Y | It is same like Google News Stand Animation with Customise Configuration file in Swift iOS Technology. |
Dance | ★653 | 一个iOS上优雅的动画库。 |
JDAnimationKit | ★616 / Y | 一个基于Swift的动画库,旨在减少代码量。 |
Cheetah | ★598 | 一个简单易用的 iOS 动效库。 |
AHKBendableView | ★595 | UIView 的一个子类,可以让视图边缘弯曲。 |
FlightAnimator | ★584 / Y | 一套先进的自然运动动画库, 有基于 block 的简单语法。 |
ARAnimation | ★577 | ARAnimation 对 Core Animation 进行了封装, 帮助 iOS 开发者能更加便捷的在项目中使用动画. |
BCMagicTransition | ★556 | 一个动效框架,用于自定义UINavigationController的切换动画,效果类似 Keynote 软件中 Magic Move 切换。它可以用于任意两个UIViewController之间,只需指定两个VC中的相同元素即可. |
Twinkle | ★548 / Y | 可以让元素闪烁的简单方式,基于 Swift,面向 iOS 和 tvOS 。 |
GiftCard-iOS | ★545 | 礼品卡购买的炫酷动画. |
GiftCard-Implementation | ★545 | 购买的炫酷动画. |
JSDownloadView | ★533 | 精巧顺滑的下载动画. |
KYWaterWaveView | ★507 | 一个内置波浪动画的UIView,里面有鱼跳跃水溅起来的效果. |
Anima | ★502 / Y | Anima 是一个具有链式语法的基于层的动画库,适用于 Swift4. |
UIView-Shake | ★499 | 为 UIView 相关组件添加震动动画效果。 |
YetAnotherAnimationLibrary | ★481 | 专为手势驱动的动画而设计,快速简单,可扩展。 |
anim | ★477 | 一套可定制,易用的动画库,API 很简洁,适用于 iOS, tvOS 和 macOS. |
UIViewXXYBoom.swift | ★450 / Y | 一个炫酷好玩的爆炸效果,如何实现这个效果。 |
ZFCityGuides | ★426 | 实现City Guides的动画效果,数字动态变化的动画效果. |
SIFloatingCollection_Swift | ★420 / Y | 可定制的 Apple Music 风格浮动形状动画组件及演示。 |
TYWaterWaveView | ★403 | 水波纹效果 |
WaterDrops | ★388 / Y | 一个简单的下雨、降雪的动画库,基于Swift。 |
HYAwesomeTransition | ★370 | 模仿格瓦拉的转场效果. |
MotionMachine | ★370 / Y | 一个强大,优雅,模块化的动画库,基于 Swift。 |
Water | ★369 | 通过简单计算就能实现水波纹效果。 |
BuildAnInfiniteCarousel | ★354 / Y | 自己动手造无限循环图片轮播,教程。 |
WXWaveView | ★349 | 可以为视图添加漂亮的波浪效果。 |
PMTween | ★345 | 一个优雅而灵活的补间动画库,适用于iOS。 |
DeformationButton | ★333 | 一个简单的变换形状动画按钮. |
PPDragDropBadgeView | ★320 | 实现了类似于QQ 5.0 水滴拖拽效果. 支持iOS 5.0+ ARC,气泡能够带有数字标识,同时支持消失block方法。消失时还带有消失效果动画。 |
RippleEffectView | ★313 | RippleEffectView - 一个简洁的涟漪视图效果。 |
Fluent | ★305 / Y | 让 Swift 动画变得更容易。 |
KDIntroView | ★295 / Y | swift 动态介绍视图框架及演示。另外两个相似的类库是 RazzleDazzle和 Presentation,择需使用。 |
STLBGVideo | ★291 | STLBGVideo让您的视图控制器的自定义backgroundvideo,实现说明1、实现说明2. |
LLCycleScrollView | ★284 / Y | iOS图片轮播(图片循环播放), 支持文本图片结合,支持图片数据的延时加载,支持StoryBoard,支持本地图片显示及与网络图的混合显示 |
JGTransitionCollectionView | ★268 / Y | swift,基于集合视图扩展实现完成自动布局及单元项 Flip式动画效果(效果很赞)。组件使用方便、自然(只需设置集合视图数据源的标准方式即可)。 |
fireworks | ★265 | 针对 UIView 的烟花效果。 |
SamuraiTransition | ★263 / Y | 一组为 ViewController 提供多度和"剪切"效果的动画库,基于 Swift。 |
Animo | ★262 | 基于 CALayers 类似于 SpriteKit 的动画构建器。 |
JRMFloatingAnimation | ★219 | 一个用于创建浮动图片视图的 Objective-C 动画库。 |
astrology-motion-ios | ★209 / Y | Astrology animation written in Swift 3 |
Bubble | ★207 | 水果气泡效果。 |
KYPingTransition | ★204 | 实现圆圈放大放小的转场动画,可以根据自己的需要使用Paper中的弹性效果,有Material风格. |
TheAnimation | ★203 / Y | 一个 CAAnimation 类型安全的封装, 可以防止设置错的类型值。 |
HamburgerButton.swift | ★198 / Y | HamburgerButton.swift一个汉堡包动画返回按钮。 |
WZXJianShuPopDemo | ★194 | 仿简书、淘宝等等的View弹出效果,已封装好,使用简单。实现原理 |
SwiftyAnimate | ★193 / Y | 一套可组合的动画库基于 Swift. |
INPopoverController | ★193 | OS X可自由定制的 Popover 视图. |
Pop By Example | ★183 | 一个关于如何使用 Pop 动画库的教程项目。 |
CCMRadarView | ★182 | CCMRadarView 可以通过 IBDesignable 用简单的方式就可以自定义带动画的雷达视图。 |
FleaMarket | ★168 / Y | "咸鱼"新特性-视频动画. |
AGInterfaceInteraction | ★155 | 可以和 UI 组件进行交互实现动画的库,可以基于当前UI创建动画效果,可以将当前UI上文字、图片等都转换成动画元素。 |
RYCuteView | ★152 / Y | 用UIBezierPath实现果冻效果。 教程 |
Walker | ★149 | 一个新的动画引擎。 |
Wobbly | ★144 | Wobbly 是一个支持预定义的、易于使用的iOS动画库。 |
MotionAnimation | ★141 | 针对 UIKit 的轻量级动画库。 |
KYBezierBounceView | ★136 | 手势控制贝塞尔曲线,取消手势贝塞尔曲线会有反弹效果. |
CardsAnimationDemo | ★133 / Y | swift, 《使用 UICollectionView 实现的一个卡片动画》不是直接操作所有 UIView 和 CALayer 的 transform3D 属性来实现整个效果的,而是使用 UICollectionView 来完成所有的视图管理和实现。 |
ADPuzzleAnimation | ★124 | 一套针对 UIView 自定义动画库,主要受到 Fabric 的启发。 |
CurryFire | ★122 | 一个用于创建独特动画的框架。 |
AKVideoImageView | ★120 | 一个 UIImageView 子类,可让您将循环播放的视频显示为背景。 |
Wave | ★113 / Y | 声明式的链式编程动画库,基于 Swift |
TKDotSegment.swift | ★106 / Y | 是一个带有圆点动画的 segment。 |
Morgan | ★96 | 一套动画库,有十几种动画效果,使用方式很简单。 |
KYShareMenu | ★90 / Y | 带弹性动画的分享菜单. |
UnReadBubbleView | ★81 | UnReadBubbleView是一个能够拖拽并拉长的气泡视图。拖拽到一定的长度会消失,可以通过系数设置来控制拖拽的长度。气泡也支持多种属性设置。 |
CPInfiniteBanner | ★72 | 是一个循环播放的组件,可以左右无缝滑动,3个imageview实现。高效图片轮播,两个ImageView实现. |
GridPanelDemo | ★72 / Y | 赞,一个点击翻转的动画Demo |
PearlSaver | ★68 | Face ID detection animation as a screensaver. |
Disintegrate | ★61 | 类似于《复仇者:无限战争》结尾所做的分裂小时(灭霸打响指之后的效果)效果的动画,很炫酷。 |
RadialLayer | ★60 | 针对可点击元素的动画(类似于 Youtube Music) |
DLWBouncyView | ★55 | BouncyView 是一个为所有视图都实现了最近流行的弹性效果的框架。 |
Ubergang | ★54 / Y | 一个用 Swift 编写的 iOS 补间动画引擎。 |
Poi | ★51 / Y | Poi 使您像 tinder UI 一样使用 卡片 UI ,你也可以使用类似于 tableview 的方法。 |
HWAnimationTransition_Swift | ★36 / Y | 、HWAnimationTransition_OC - 类似于格瓦拉启动页中的放大转场动画(objective-C && Swift)。教程 |
KIPageView | ★34 | 无限循环PageView,横向TableView,无限轮播. |
Kinieta | ★33 / Y | 可自定义的 Bezier Easing 效果的动画引擎,API直观,完美的色彩插值功能。 |
DaisyChain | ★29 | DaisyChain 是一个微框架,它使得 UIView 动画链接非常简单。 |
CircularRevealKit | ★21 | 类似于 material design 效果的 UI 库, 让循环显示动画变得容易。 |
KYNewtonCradleAnimiation | ★21 | 牛顿摆动画. |
XTLoopScroll | ★21 | 用两个 timer 三个重用的 view 实现无限循环 scrollView,1自动轮播 2点击监听回调当前图片 3手动滑动后重新计算轮播的开始时间, 良好的用户体验. |
VariousViewsEffects | ★18 | 一个易于使用的扩展,可以很好地对视图进行动画处理。 |
MagicMove | ★15 | 一个类似于 Keynote Magic 的切换效果. |
DGWaveLoadingTool | ★6 | 实现的功能类似于百度贴吧的波浪动画. |
VJDeviceSpecificMedia | ★6 | 如何根据设备选择不同尺寸的图片 可以通过设置不同尺寸设备的LaunchImage,来使得App适配这些设备,要是在不同不同尺寸设备上使用不同大小的图片,则需要在代码中一一判断,然后加载. |
SYAppStart | App启动插画的自定义过度. | |
SequenRotateAnimation | 一个简单的loading次序动画。 | |
AIAnimationDemo | 非常不错的一个各种动画Demo集合库👍👍 . | |
ZQLRotateMenu | 这是一个旋转视图的选择器. | |
HotGirls | 卡片动画. | |
TaskSwitcherDemon | 是仿造iOS9的Task Switcher做出来的动画效果, 具体的实现思路可参照这篇文章。 | |
LSPaomaView | 可循环滚动的较长文字,跑马灯,效果很好,一句话集成. | |
CoolLoadAniamtion | 一个简单但是效果不错的loading动画. |
动画相关其他资源
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-ios-animation | ★4.7k | 收集整理了下iOS平台下比较主流炫酷的动画框架,有截图和效果预览。 |
awesome-ios-animation | ★4.4k | 另一个 iOS 动画特效库列表,收录的内容相对较少。 |
Awesome iOS Animation | ★886 | 又双叒叕一个 iOS 动效资源列表,也有效预览。 |
过度/切换/转场效果
地址 | Stars/Siwft | 简介 |
---|---|---|
Hero | ★18.5k / Y | 适用于iOS的高效的过渡效果引擎,完全无需代码即可构建自定义视图过渡效果,主要是受到 Keynote's Magic Move 的启发. |
Hero | ★18.5k / Y | 非常的转场动画库. |
VCTransitionsLibrary | ★4.5k | 一个转场动画库,跟着源码能学习到很多 |
BubbleTransition | ★3k / Y | 一个自定义的模态过渡,用于呈现/消除具有气泡效果的扩展控制器。 |
AnimatedTransitionGallery | ★2.5k | 基于 UIViewControllerAnimatedTransitioning 协议的 iOS 7 自定义动画转换效果集合。 |
ZFDragableModalTransition | ★2.5k | 自定义的动画过度效果,用来呈现模态视图控制器。 |
Transition | ★2.3k / Y | 一个易于交互的可中断自定义 ViewController 过渡效果库。 |
WobbleView | ★2.2k | 是一个实现了流行的摇晃效果的视图。你可以在应用中方便的添加动态的用户交互和过渡效果。 |
SPStorkController | ★2.2k / Y | 非常像 Apple Music, Podcasts 和 Mail 应用中的 controllers 显示效果。 |
DeckTransition | ★2.2k / Y | DeckTransition 用于重现 iOS 10 中 Apple Music 和 iMessage 中的卡片过度效果。 |
ElasticTransition | ★2.1k / Y | 一个基于 UIKit 可自定义的效果库,可以模拟弹性拖拽效果,基于 Swift。 |
TransitionTreasury | ★2.1k / Y | viewController 的切换效果扩展,基于 Swift,让动画实现更简单。 |
UniversalProject | ★1.9k | 基于MVC架构的iOS轻量级框架,封装了基类、基于猿题库YTKNetwork的网络服务、工具库,NavigationController转场动画/瀑布流/粒子动画/小demo,已适配iOS11 & iPhone X. |
RMPZoomTransitionAnimator | ★1.7k | 基于 UIViewController 的自定义缩放过渡动画效果。 |
Motion | ★1.6k / Y | Swift实现的无缝动画和过渡。 |
WXSTransition | ★1.4k | 转场动画集合. |
TBIconTransitionKit | ★1.3k | 点击按钮过渡动画,很赞 |
JTMaterialTransition | ★966 | 基于 material design 的 iOS 控制器过度效果库。 |
BlurryModalSegue | ★935 | 可以提供模糊叠加效果。 |
ZOZolaZoomTransition | ★917 | 一个缩放过渡效果库,可对整个视图层次进行动画处理,可以参考 Zola 这个应用。 |
VVBlurPresentation | ★914 | 很简单易用的在原来viewconntroller基础上做模糊,然后present新的viewcontroller的. |
Blurable.swift | ★904 / Y | swift模糊组件。 |
Gagat | ★878 | 一个可以在 iOS 视觉样式之前进行过度切换的简便方式。 |
View2ViewTransition | ★861 | 一个在视图之前进行切换过度的自定义交互式视图控制器 |
TransitionableTab | ★698 | TransitionableTab 让 tab 之间的切换更加简单,当然是动效的哦。 |
DAExpandAnimation | ★579 | 以自定义的模态过渡效果,从 cell 中展开来呈现控制器的库。 |
AlertTransition | ★553 | AlertTransition 是一个视图控制器动效的扩展库,主要用在告警框的效果。 |
SABlurImageView | ★530 | 支持渐变动画效果的图像模糊化类库。P.S. 与前几天推存类库 SAHistoryNavigationViewController 是同一位作者. |
Kaeru | ★490 | 类似于 iOS 任务管理其中的 Switch 控件。 |
PresenterKit | ★481 / Y | 一个高效的视图控制器呈现框架, 基于Swift。 |
AZTransitions | ★413 | 一套使用一个方法就可以实现高级自定义过度效果的 API。 |
ElasticTransition-ObjC | ★400 | 一个基于 UIKit 可自定义的效果库,可以模拟弹性拖拽效果,基于 Objective-C。 |
CATransitionDemo | ★374 | 切换页面特效 |
UICustomActionSheet | ★373 | 通过模糊背景来着重强调与菜单相关的元素--对话框 里面已经收藏. |
KLParallaxView | ★293 | 一个有动态效果的view |
BetweenKit | ★265 | 一个健壮的 iOS 拖拽框架。 |
AppstoreTransition | ★247 | 模拟 appstore 中的卡片动效。 |
LiquidTransition | ★207 | 一种执行动画过渡的新方法,删除样板代码执行转换,允许反向动画,自定义属性动画等等。。。 |
ImageTransition | ★180 / Y | ImageTransition 用于在动效切换之间对图片进行平滑过度处理。 |
RPModalGestureTransition | ★90 | 您可以使用手势关闭模态效果。 |
SemiModalViewController | ★63 | 将 视图/视图控制器 显示为半屏模态框,真的只占用屏幕的一半哦。 |
Presenter | ★13 | 使用简洁的代码进行屏幕过度。 |
QQPersonalInfoTransition | 仿照QQ的转场。 |
隐藏与显示
- SlideTapBar - 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
HYNavBarHidden | ★352 | 导航条滚动透明,超简单好用的监听滚动,导航条渐隐的UI效果实现. |
JXT_iOS_Demos | ★340 | AboutNavigationBar:一些关于navigationBar的非常规的但是较为实用的操作,包括利用毛玻璃、动态透明、动态隐藏,以及头视图的动态缩放,并同时涉及了statusBar的动态设置(换色)。教程. |
NavigationBarScaleViewDemo | ★34 | iOS导航条自由缩放头像效果。原理剖析. |
颜色
iOS 原生颜色组件
颜色 相关开源框架、工具
- 十六进制颜色扩展、主题、颜色选择器和其他出色的颜色工具 *
地址 | Stars/Siwft | 简介 |
---|---|---|
Chameleon | ★12.4k / Y | 一个 iOS 性能强大的轻量级扁平化颜色框架,我们还可以通过它运用自定义颜色创建调色板,可以用于 Objective-C 和 Swift。 |
DKNightVersion | ★3.5k | 管理颜色,整合夜间/多主题 等功能。 |
Colours | ★3.1k | 一组漂亮的预定义颜色和一组颜色方法,使您的iOS/macOS开发更加轻松 |
Hue.Swift | ★3.1k / Y | Hue.Swift:颜色常规功能集于一身的定义、使用 Color 工具类库(含图片取色). |
Hue | ★3.1k / Y | Hue 是一个综合的颜色工具,功能很多。 |
DynamicColor | ★2.3k / Y | 一个用于操作颜色的扩展,基于 Swift. |
KtColor.swift | ★2k / Y | 利用 Swift 的语法特性简化创建 UIColor对象的过程。具体文章可以参考博客:当UIColor遇上 Swift. |
UIColor-Hex-Swift | ★1k / Y | 使用RGBA十六进制字符串创建自动释放颜色的方便方法。 |
SwiftHEXColors | ★618 / Y | 十六进制颜色处理,作为UIColor的扩展. |
RandomColorSwift | ★508 / Y | 一个不错的颜色生成器,基于Swift. 从 randomColor.js 移植过来的. |
BCColor | ★421 / Y | 轻巧但功能强大的配色套件(Swift) |
ChromaColorPicker | ★363 / Y | 内置于Swift中的直观iOS颜色选择器。 |
Gestalt | ★311 | 一款轻巧的iOS应用主题库,支持动画主题切换。 |
CostumeKit | ★302 / Y | 主题化应用程序的基本类型。 |
FlatUIColors | ★172 / Y | 扁平化 UI 风格的调色板,基于 Swift. |
PrettyColors | ★165 / Y | PrettyColors是一个Swift库,用于在终端中为文本设置样式和颜色。 |
ColorArt | ★136 | 从图片中取出主要颜色,类似 iTunes 11 的效果。 |
CSS3ColorsSwift | ★62 / Y | 具有CSS3颜色名称的UIColor扩展。 |
SheetyColors | ★58 / Y | 动作表样式的iOS颜色选择器。 |
Lorikeet | ★26 / Y | 一个轻量级的Swift框架,用于产生美观的色彩方案和CIE色差计算。 |
PFColorHash | ★23 | 根据给定的字符串生成颜色。 |
TFTColor | ★18 / Y | RGB和CMYK十六进制字符串和十六进制值(ObjC和Swift)的简单扩展。 |
SDevFlatColors | / Y | Swift 实现的扁平化颜色。 |
字体/图标
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
FontAwesomeKit | ★2.8k / Y | iOS 的图标字体库。目前支持 Font-Awesome,Foundation图标,Zocial 和 ionicons。 |
ios-fontawesome | ★1.8k | NSString + FontAwesome. |
Iconic | ★1.5k | 自动生成的图标字体库,用于 iOS,watchOS 和 tvOS 。 |
FontAwesome.swift | ★1.4k / Y | 在 Swift 项目中中使用 FontAwesome。 |
UIFontComplete | ★1.2k / Y | iOS 和 tvOS 上的字体管理器 (系统 及 自动以) 。 |
SDevIconFonts | ★1.1k / Y | 用于 Swift 的 Fontawesome, Iconic, Ionicons, Octicon。 |
SwiftIconFont | ★1.1k / Y | 用于 iOS 的 Icons 字体 (如,FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon). |
FontBlaster | ★969 / Y | 可以以编程方式将自定义字体加载到您的iOS应用中。 |
Money | ★760 / Y | 一种精确的、类型安全的以给定货币表示方式。 |
Font-Awesome-Swift | ★740 / Y | iOS 上的对应 Font Awesome 的 swift 库。 |
SwiftIcons | ★709 / Y | 一个可以使用多种字体图标的库,如: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. 支持 UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper 等组件。 |
xkcd-font | ★638 | The xkcd font. |
GoogleMaterialDesignIcons | ★368 | 适用于 iOS 的 Google Material Design 图标字体。 |
IoniconsKit | ★309 / Y | 和OcticonsKit 类似,这个库是 Ionicons 用作 UIImage / UIFont。 |
FontAwesomeKit.Swift | ★195 / Y | 在 iOS 上使用 FontAwesome 的一种更好的方法。 |
GoogleMaterialIconFont | ★147 / Y | 适用于 Swift 和 ObjC 项目的Google Material Design图标。 |
SwiftFontName | ★112 / Y | 操作系统字体补充库,支持本地化字体。 |
AwesomeEnum | ★54 / Y | 面向 Swift 4 的,基于 Font Awesome 5 的组件库,可以用在 iOS,macOS,tvOS,wathcOS上。 |
Swicon | ★37 / Y | 让你的 Swift/iOS 项目中可以使用 FontAwesome 和 Google Material Icons 中超过1600+ 个图表,且使用简单又节省空间。 |
OcticonsKit | ★35 / Y | 使用 Swift 的方式 将 Octicons图标库用作 UIImage / UIFont |
JQSwiftIcon | ★5 / Y | 一个iOS上的使用Swift编写的字符串插值的图标字体。 |
前台工具
- iOS Fonts - 查询 iOS 各版本字体
手势
手势相关教程
手势相关开源工具
- 一些处理手势的框架和工具 *
地址 | Stars/Siwft | 简介 |
---|---|---|
FDFullscreenPopGesture | ★5.7k | UINavigationController的一个类别,用于使用AOP启用iOS7+系统样式的全屏弹出手势,可以方便的集成全屏返回上一层界面 |
DBPathRecognizer | ★1.2k | 手势识别器工具。 |
Tactile | ★693 | iOS 处理手势更好的方法,安全并且更加合乎习惯的响应收拾和控件事件的方式。 |
Sensitive | ★547 | 在iOS中使用手势的特殊方式。 |
SplitViewDragAndDrop | ★311 | 轻松添加拖放操作,以拆分视图模式,用来在应用之间传递数据。 |
SwiftyGestureRecognition | ★152 / Y | 在Xcode Playgrounds中使用UIGestureRecognizers制作原型的辅助工具。 |
本土化工具
相关教程
拼音工具
地址 | Stars/Siwft | 简介 |
---|---|---|
PinYin4Objc | ★843 | 拼音解析,很好用, 基于 Object-C |
其他开源工具
用于管理字符串文件,翻译和启用应用程序中的本地化工具.
地址 | Stars/Siwft | 简介 |
---|---|---|
Localize-Swift | ★2.5k / Y | Swift 2.0 友好的本地化和 i18n(国际化)(具有应用内语言切换功能)框架。 |
LocalizationKit | ★1.2k / Y | 通过Web门户实时进行本地化管理,无需重新部署和重新提交即可轻松管理您的文本和翻译。 |
BartyCrouch | ★882 / Y | 从代码和 Storyboards/XIB 增量更新/翻译您的Strings文件。 |
Swifternalization | ★569 / Y | 使用 JSON 文件,以更智能的方式本地化 iOS 应用,基于Swift. |
Hodor | ★543 | 本地化iOS应用的简单解决方案。 |
IBLocalizable | ★461 / Y | 使用 IBLocalizable 直接在界面生成器中本地化视图。 |
Localize | ★224 / Y | 使用JSON或字符串本地化应用程序的简单工具,当然还有带有UI组件扩展的 IBDesignables。 |
Strsync | ★155 | 从基本语言自动翻译和同步.strings 文件。 |
nslocalizer | ★149 | 查找丢失和未使用的 NSLocalizedStrings 的工具。 |
L10n-swift | ★143 / Y | 能够“即时”更改语言并支持任何语言中的复数形式 |
Rubustrings | ★103 | 检查 Localizable.strings 文件的格式和一致性。 |
transai | ★57 | 命令行工具可帮助您管理本地化字符串文件。 |
CrowdinSDK | ★22 / Y | Crowdin iOS SDK 可以将所有新的翻译从 Crowdin 项目传递到应用程序。 |
LocalizedView | ★8 | 在Xib文件中设置应用程序特定的本地化字符串。 |
通知/推送/消息/IM
即时通信/IM
IM 服务商
- 环信 - 给开发者更稳定IM云功能。8200万用户考验,好用!(暂无及时语音、视频通话).
- 融云 - 即时通讯云服务提供商。(暂无及时语音、视频通话).
- 容联云通讯 - 提供基于互联网通话,视频会议,呼叫中心/IVR,IM等通讯服务.
IM 开源框架/SDK
- BlueTalk蓝牙聊天 - 以MultipeerConnectivity为基础, 实现了简单的蓝牙聊天.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
TeamTalk | ★6.1k | TeamTalk is a solution for enterprise IM. |
Signal-iOS | ★4.8k | A private messenger for iOS. |
ChatSecure | ★2.9k | 基于XMPP的iphone、android加密式聊天软件, chatsecure官网 。 iOS代码1,iOS代码2, iOS中文版. |
MobileIMSDK | ★2.9k | 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台,服务端基于Mina和Netty编写. |
Telegram | ★2.9k | Telegram Messenger for iOS. |
网易云信 iOS UI 组件 | ★1.2k | 云信 UI 组件,全称 Netease Instant Message Kit,简称 NIMKit,是一款开源的聊天组件,并支持二次开发。开发者只需要稍作配置就可以打造出属于自己的聊天界面,而通过一些自定义的设置,也可以轻松添加业务相关的功能,如阅后即焚,红包,点赞等功能。NIMKit 底层依赖 NIMSDK,是一款由网易开发的 IM SDK,通过它可以轻松快速在你的 App 中集成 IM 功能. |
QQ界面 | ★486 | |
jchat-swift | ★272 / Y | 一个聊天 App,具有完备的即时通讯功能,JChat 的功能基于极光 JMessage SDK 来开发。 |
RTCChatUI | ★120 | 仿QQ音视频通话效果. |
SXTheQQ | ★63 | 用xmppFramework框架编写QQ程序,主要为了练习通讯的一些原理,界面比较渣 必须要先在本地配置好环境才可以运行。 |
SunFlower | ★11 | 环信聊天demo,比较多功能. |
消息(包括短信)
消息推送服务商
国外消息服务商:
开源消息/通知框架
地址 | Stars/Siwft | 简介 |
---|---|---|
JSQMessagesViewController | ★11.3k | 优雅的 iOS 消息类库, 常用于聊天应用中, 可定制性高。 |
XMPPFramework | ★5.8k | 使用 Objective-C 实现的 XMPP 通信协议框架,适用于 Mac 和 iOS. |
MessageDisplayKit | ★4.3k | 用于聊天App显示消息的页面,可以发送文本、声音、图片、视频等消息(不过目前的Demo似乎仅支持输入文本)。界面模仿微信App。 |
MessageKit | ★4.2k / Y | JSQMessagesViewController 的 Swift 版本。 |
Chatto | ★4.1k / Y | 一个轻量级的,用户构建聊天功能的框架, 基于 Swift. |
Messenger | ★3.8k | 这是一个本机 iOS Messenger应用程序,支持完全脱机模式,可以进行实时聊天对话和音频呼叫。 |
CWStatusBarNotification | ★2k | 酷炫的通知栏,多种通知样式,使用简单。 |
MessageViewController | ★1.6k / Y | 一个用 Swift 编写的 SlackTextViewController 替代品,针对 iPhone X. |
chat-sdk-ios | ★762 | iOS 的聊天 SDK。 |
Lotusoot | ★313 / Y | 灵活的 Swift 组件解耦和通信工具. |
AsyncMessagesViewController | ★296 | 适用于iOS的平滑,响应迅速且灵活的消息UI库。 |
Messenger Chat with Firebase | ★286 / Y | 具有Firebase Firestore集成的Swift消息聊天应用程序。 |
SwiftyMessenger | ★45 / Y | 一套用于在iOS应用和扩展程序之间传递消息的Swift工具包。 |
Homeoff | ★28 / Y | 用swift写了一个模仿Launcher通知中心快捷方式的应用。支持20个应用,并增加了一个返回到桌面来解放Home键的功能。 |
SwiftKafka | ★25 / Y | IBM提供的 Apache Kafka的Swift SDK |
OTTextChatAccelerator | ★14 | OpenTok Text Chat Accelerator Pack 允许在移动设备和基于浏览器的设备之间传输消息。 |
Atlas-iOS | :为 Layer 设计的原生 iOS 消息应用 UI 组件。 |
Push 通知框架/消息推送
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
PEM | ★28.8k | 自动生成并更新推送通知配置文件。 |
NWPusher | ★5.7k | macOS和iOS应用程序和框架,可与Apple推送通知服务(APNs)一起使用。 |
terminal-notifier | ★5.3k | Send User Notifications on macOS from the command-line. |
Knuff | ★4.7k | Apple 推送通知服务(APNS)的调试程序。 |
JDStatusBarNotification | ★3.8k | 在状态栏顶部显示通知。可以自定义颜色字体以及动画。支持进度显示以及显示状态指示器. |
SmartPush | ★1.5k | SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App |
SimulatorRemoteNotifications | ★1.4k | 一个向iOS模拟器发送模拟远程通知的库。 |
Orbiter | ★685 | 在 iOS 中注册推送通知。 |
FBNotifications | ★505 | Facebook 出的内置到应用中低端通知框架。 |
GLPubSub | ★247 | 一个简短实用的 NSNotificationCenter 的封装. |
JSQNotificationObserverKit | ★168 | 一款轻量、易用的通知发送及响应框架类库。作者是知名开源项目 JSQMessagesViewController(Objective-C 版即时聊天)的作者 Jesse Squires. |
obito | ★89 | an iOS notification service out of box. |
PushDemo | ★43 | 客户端消息接收消息代码,IOS开发之 ---- IOS8推送消息注册 , 分分钟搞定IOS远程消息推送。 |
APNSUtil | ★29 | 一个易于设置的库,可以登陆苹果推送通知服务。 |
消息推送服务端
- javapns源代码 - 消息推送的java服务端代码,注意:DeviceToken中间不能有空格。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
pushMeBaby | ★945 | Mac端消息推送端代码,注意:DeviceToken中间要有空格。 |
消息推送提供商
国内消息推送服务商:
国外消息推送服务商:
- Urban Airship - 付费的推送通知后台
- Growth Push - 付费的推送通知,在日本很流行
- Braze
- Batch
- Boxcar
- Carnival
- Catapush
- Netmera
- OneSignal - 免费.
- PushBots
- Pushwoosh
- Pusher - 免费开源.
- Swrve
- Parse Push - 完全免费的后台推送通知,提供了创建分段,调度甚至 A/B 测试的能力。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Pushkin | ★244 | 免费开源 |
本地通知
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
DLLocalNotifications | ★161 | 快速创建本地通知,基于 UserNotifications 的封装。 |
网络
iOS 中网络相关教程、资讯
- 《iOS网络监测如何区分2、3、4G》
- 《iOS网络篇-网络基础》
- 《iOS网络深度优化总结》 - 有一些弱网环境优化的资料。
- 《iOS-网络编程基础》
- 《浅谈Swift网络编程最佳实践》
Swift 中内置的网络功能
- 《URLSession基本使用》 - 基于 Swift
- Swift - 使用URLSession同步获取数据(通过添加信号量)
- 《Swift网络开发之NSURLSession学习笔记》
- 《Swift:URLSession 的GET和POST》
- Swift: Post JSON 数据的一段代码
- 《Swift3.0:NSURLConnection的使用》
- URL Loading System (英)
- Legacy URL Loading Systems(英)
网络请求/下载
- sync-http.swift - 一段用于同步执行 URLSession 请求的代码
- Siesta - RESTful 资源的优雅抽象, 基于回调和基于委托的网络的替代方法。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Alamofire | ★33.6k / Y | Alamofire 是一个 HTTP 网络库,基于 Swift, 由 AFNetworking 的作者编写。你是否曾经使用过AFNetworking呢?Alamofire是它的小弟。更年轻更时尚,当然(AFNetworking是用Objective-C编写的) |
AFNetworking | ★32.8k | 一个好用的 iOS/macOS 网络框架,应用很广,基于 Objective-C。 |
Moya | ★12.1k / Y | 一个基于 Swift 的网络抽象层,Moya 是对 Alamofire 的再次封装 |
CocoaAsyncSocket | ★11.6k | 适用于Mac和iOS的异步套接字网络库,无疑是目前封装得最完善的Socket库了:支持异步TCP/UDP,支持GCD,Objective-C接口封装。。目前没有发现可以与之相比的同类产品。 |
RestKit | ★10.3k | 主要用于 iOS 上网络通信, 允许与 RESTful Web 服务交互, 常用于处理 API, 解析 JSON, 映射响应对象等操作, 简单易用, 方便你把所有精力都放在对数据的操作上 |
Reachability.swift | ★6.8k / Y | Apple Reachability 的替代,用 Swift 和闭包重新实现了苹果的 Reachablility 框架。 |
YTKNetwork | ★6.1k | YTKNetwork 是基于AFNetworking的高级请求工具类 |
swift-nio | ★5.9k / Y | 苹果开源的一个事件驱动的非阻塞的网络框架,用来写高性能网络应用. |
ASIHTTPRequest | ★5.8k | 易于使用的CFNetwork封装,可用于HTTP请求,基于Objective-C,适用于 macOS 和 iPhone。 |
RealReachability | ★2.9k | 用于检测网络的可达性。 |
MonkeyKing | ★2.5k | MonkeyKing 帮助开发者快速集成国内主流社交应用(微信、微博、QQ、支付宝)的分享、授权、支付等功能。重要的是,不需要集成各种官方 SDK |
Siesta | ★2k | 一个请求RESTful资源的优雅抽象,可解决有状态的混乱情况,是基于回调和基于委托的网络的替代方法。 |
ResponseDetective | ★1.9k / Y | 网络层的福尔摩斯。 |
SwiftHTTP | ★1.8k / Y | NSURLSession 的轻量级封装,简化了HTTP请求,基于 Swift。 |
APIKit | ★1.7k / Y | 一个网络库,用于在Swift中构建类型安全的Web API客户端。 |
PPNetworkHelper | ★1.6k | AFN3.x与YYCache的二次封装,一句话搞定网络请求与缓存,和FMDB说拜拜. |
Just | ★1.3k / Y | Swift HTTP 库,号称是给人看的语法. |
Just | ★1.3k / Y | 小而美的 HTTP 类。功能简单、直接、完整且健壮性高-- swift。 |
Networking | ★1.2k / Y | Swift中的简单HTTP网络库,支持带图像缓存的 NSURLSession 封装。 |
Hedwig | ★1.1k / Y | 提供了一组高级 API,可以让你轻松地发送电子邮件到SMTP服务器。如果你打算在下一个神奇的 Swift 服务器 app里发送 email,Hedwig 可能是一个好的选择. |
Overcoat | ★1.1k | 小巧但功能强大的网络库,使得创建 REST 客户端变得简单而有趣。 |
MZDownloadManager | ★1k | 下载管理。 |
XMNetworking | ★972 | 一个基于 AFNetworking 简化语法的的轻量级框架,但功能强大。 |
Pitaya | ★851 / Y | 一个使用 Swift 实现的 HTTP / HTTPS 网络库 |
EVCloudKitDao | ★607 / Y | 简化了对苹果 CloudKit 的访问。 |
SPTDataLoader | ★601 | Spotify iOS客户端使用的HTTP库。 |
agent | ★598 / Y | 一个适用于iOS和macOS的简约 Swift HTTP 请求代理。 |
HYBNetworking | ★577 | 基于AFN封装的网络库,可以通用。基于AFNetworking封装网络库说明目前已经提供了通用的GET/POST、上传、下载API等。 |
NSRails | ★523 | iOS/Mac OS 上的 Rails 框架,客户端的对象/类映射到远程 REST API 的对象/ORM。 |
Digger | ★509 | Digger是一个轻量级的下载框架,仅需要一行代码即可完成文件下载任务。 |
TRON | ★498 / Y | 轻量级网络抽象层,建立在 Alamofire 之上。 |
SOAPEngine | ★463 | 这是个通用SOAP客户端,允许您使用iOS,macOS和AppleTV应用访问Web服务。 |
Reach | ★449 / Y | 一个简单的类,用于检查Swift中的Internet连接可用性。 |
Transporter | ★443 / Y | 一个很小的库,它使上载和下载更加容易。 |
Bamboots | ★434 | Bamboots是基于Alamofire的网络请求框架,旨在使网络请求更易于开发. |
HappyDns | ★426 | 一个Dns库,支持自定义Dns服务器,dnspod httpdns。不过,只支持 A 记录 |
TWRDownloadManager | ★399 | 一种基于 NSURLSession 的现代下载管理器,用于处理多个文件的异步下载、管理和持久化。 |
FSNetworking | ★388 | 稳固 iOS 网络库 |
Restofire | ★375 / Y | Restofire 是迅速的面向协议的网络抽象层,它建立在 Alamofire 之上,以声明性的方式使用服务。 |
Swish | ★374 | Nothing but Net(working). |
MMLanScan | ★363 | 一个 iOS LAN局域网扫描库。 |
ws ☁️ | ★347 / Y | Swift 中的优雅 JSON WebService。 |
WTRequestCenter | ★294 | 方便缓存的请求库,提供了方便的HTTP请求方法,传入请求url和参数,返回成功和失败的回调。 UIKit扩展提供了许多不错的方法,快速缓存图片,图片查看,缩放功能, 颜色创建,设备UUID,网页缓存,数据缓存等功能。 无需任何import和配置,目前实现了基础需求。 |
EVURLCache | ★284 / Y | NSURLCache子类,用于处理使用 NSURLRequest 的所有Web请求。 |
AFNetworking+RetryPolicy | ★192 | AFNetworking 的增强,基于 objective-c |
Reactor | ★188 | 增强 RAC 框架。 |
Reactor | ★188 | 增强 RAC 架构. |
AFNetworking-Synchronous | ★157 | 基于 AFNetworking 实现同步请求,适用于 AFNetworking 1.x, 2.x, 和 3.x,基于 Objective-C |
LxFTPRequest | ★140 | 支持获取FTP服务器资源列表,下载/上传文件,创建/销毁ftp服务器文件/目录,以及下载断点续传,下载/上传进度,自动判断地址格式合法性跟踪等功能!国人开发。 |
EFInternetIndicator | ★130 / Y | 基于 ReachabilitySwift 的快速互联网错误状态指示器。 |
Future | ★121 / Y | 基于微框架设计思想的异步执行及结果响应类,代码即简单又干净-- swift。 |
Netdiag | ★115 / Y | 一个网络诊断库,支持 Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS 等操作 |
NetClient | ★114 / Y | 用 Swift 3 编写的多功能HTTP网络库 |
HFDownLoad | ★111 / Y | iOS开发网络篇之文件下载、大文件下载、断点下载:NSData方式、NSURLConnection方式、NSURLSession下载方式 下载方式具体的思路、区别见Blog 。 |
FGRoute | ★92 | 一个易于使用的库,可帮助开发人员获取wifi ssid,路由器和设备ip地址。 |
SolarNetwork | ★91 / Y | Swift 中的优雅网络抽象层。 |
Bridge | ★91 | 一个简单的可扩展类型的网络库,可以轻松拦截和处理/更改请求和响应。 |
STNetTaskQueue | ★90 | STNetTaskQueue Objective-C 可扩展网络请求管理库。 |
Frisbee | ★88 / Y | Another network wrapper for URLSession. Built to be simple, small and easy to create tests at the network layer of your application. |
ReactiveAPI | ★71 / Y | 利用RxSwift的功能,依靠URLSession编写干净,简洁和声明性的网络代码。 主要受到 Retrofit 的启发. |
UnboxedAlamofire | ★66 / Y | Alamofire + Unbox: 下载并解析JSON,同时转换到Swift对象的最简单方法。 |
Squid | ★54 | 基于Combine的声明式和响应式网络框架,并提供HTTP请求,透明分页和WebSocket通信的方式。 |
Merhaba | ★52 | Bonjour网络,用于在iOS,macOS和tvOS之间进行设备发现和连接。 |
CDZPinger | ★49 | 易用的 ICMP Ping 工具库. |
ROADFramework | ★49 | 面向属性的 web 服务交互方式,该框架具有用于请求和响应的内置 json 和 xml 序列化功能,并且可以轻松扩展。 |
SwiftyZeroMQ | ★46 / Y | ZeroMQ Swift 类库,可用于 iOS, macOS, tvOS 以及 watchOS. |
SwiftNet.swift | ★37 / Y | 基于 RxSwift 和 Alamofire 的网络请求简易封装库。 |
Dots | ★33 / Y | 轻量级并发网络框架。 |
Ciao | ★32 / Y | 使用mDNS(Bonjour,Zeroconf)发布和发现服务。 |
DBNetworkStack | ★31 | 面向资源的网络框架,具有类型安全性,可扩展性,可组合性,并且使测试变得更加容易。 |
NetworkKit | ★30 | 一个适用于iOS,Mac,WatchOS和tvOS的轻量级网络和数据解析框架。 |
Downloader | ★29 | iOS downloader for app(基于NSURLSession的下载器,mp4/mp3等资源都可以使用,m3u8格式等)。 |
MutableUploadDemo | ★24 | 模拟需求:图文混编,要求用户选择图片后就上传,可选择多图,并行上传,用户确定提交后后台执行,必须全部图片上传完才能提交文字。 |
TermiNetwork | ★23 / Y | 用Swift 4.0编写的网络库,支持多环境配置,路由和自动反序列化。 |
Nikka | ★22 | 一个超级简单的网络包装器,支持许多JSON库,Futures和Rx |
SWNetworking | ★22 | iOS,macOS和tvOS上的强大、高级网络库。 |
Nikka | ★22 | 一个超级简单的网络层封装,支持很多 JSON 库, Futures 和 Rx. |
MHNetwork | ★18 | 面向协议的网络层旨在避免单例 NetworkManager 膨胀。 |
AlamoRecord | ★18 | 一个优雅而强大的iOS网络层,灵感来自 ActiveRecord。 |
AFNetworkingHelper | ★18 / Y | 在 RC 内部广泛使用的 AFNetworking 库之上的自定义包装器 |
NKMultipeer | ★14 | 一个建立在多个对等连接上的可测试的抽象库。 |
ThunderRequest | ★11 | 一个简单的URLSession包装器,具有基于通用协议的请求主体方法和容易的反序列化响应。 |
WANetworkRouting | ★10 | 一个iOS库,用于通过请求,映射,路由和身份验证层将API路径路由到客户端上的对象。 |
RxRestClient | ★9 / Y | 基于RxSwift和Alamofire的简单REST客户端。 |
RMHttp | ★8 | 用在 iOS 和 watchOS 上的轻量级REST库。 |
Gem | ★8 | 一个非常轻量级的系统,具有高性能,用于管理所有的http请求,并使用带有modal的自动解析器。 |
Malibu | ★8 / Y | Malibu是基于Promise建立的网络库。 |
SWNetworking | ★6 / Y | 强大的高级iOS,macOS和tvOS网络库。来自 SWNetworking 的作者。 |
Domainer | ★6 | 管理多域 url,并自动映射ip地址表. |
NetKit | ★4 / Y | Swift的简洁HTTP框架 |
OctopusKit | ★2 | 一个用于调用 RESTful Web 服务API的简单而优雅的解决方案。 |
QwikHttp | ★2 | 一个专为 RESTful API设计的功能强大,轻巧且易于使用的HTTP网络库 |
下载相关框架:
地址 | Stars/Siwft | 简介 |
---|---|---|
AFDownloadRequestOperation | ★1.1k | 封装了AFNetworking,带有下载进度 |
WHCNetWorkKit | ★464 | WHCNetWorkKit 是http网络请求开源库(支持GET/POST 文件上传 后台文件下载 UIButton UIImageView 控件设置网络图片 网络数据工具json/xml 转模型类对象网络状态监听). |
HSDownloadManager | ★320 | 下载音乐、视频、图片各种资源,支持多任务、断点下载. |
DGDownloadManager | ★40 | 下载的一个框架,支持断点续传、支持批量下载,支持ios和macOs,支持pod,可设置最大并发数量,可以暂停也可以恢复更可以取消. |
WebSocket/Socket
- Socket通信 - 通过AsyncSocket封装的Socket通讯方法,简单实用,通俗易懂,初学者不能错过.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SocketRocket | ★9k | 一个 Objective-C WebSocket 客户端。 |
Starscream | ★5.9k / Y | Websockets in swift for iOS and macOS. |
socket.io-client-swift | ★4.2k / Y | Socket.IO 客户端,针对 iOS/macOS. |
SwiftWebSocket | ★1.4k / Y | 一个基于 Swift 的高性能 WebSocket 客户端库,面向 iOS 和 macOS. |
SwiftSocket | ★1.3k / Y | 一个基于 Swift 的 socket 库。 |
Socks | ★563 / Y | 一个纯 Swift 实现的 Socket 库,支持 TCP, UDP; Client, Server; Linux, macOS. |
AsyncSocket | ★202 | Asynchronous socket networking library for Mac and iOS. |
Swift-ActionCableClient | ★153 / Y | ActionCable是一个新的 WebSocket服务器,它与Rails 5一起发布,使得向应用程序添加实时功能变得非常容易。 |
GCDAsyncSocket | ★72 | GCDAsyncSocket , 不错的Demo. |
SwifterSockets | ★57 / Y | 一组 socket 工具集合,基于 Swift。面向 iOS 和 macOS。 |
DNWebSocket | ★29 / Y | 面向对象的、Swift 风格的 WebSocket 库(RFC 6455),适用于 Swift 兼容平台。 |
Email/邮件
地址 | Stars/Siwft | 简介 |
---|---|---|
Mail Core 2 | ★2.2k | MailCore 2 提供了一个简单的异步API,用于IMAP,POP和SMTP等协议。 |
Postal | ★574 / Y | 一个提供对常见电子邮件提供商的简单访问的 Swift 框架 |
数据解析
CSV 解析
地址 | Stars/Siwft | 简介 |
---|---|---|
CSV.swift | ★447 / Y | 一个 CSV 的读写库,基于 Swift. |
SwiftCSV | ★437 / Y | Swift CSV 解析器 |
CSwiftV | ★153 / Y | 一个 csv 解析器,基于swift,符合 rfc4180 规范。 |
CodableCSV | ★112 / Y | 逐行读写CSV文件&逐行或通过Swift的可编码接口读写CSV文件。 |
JSON
iOS 自带的工具
- 《NSJSONSerialization 实现 JSON 序列化》 - 基于 Objective-C
- 《NSJSONSerialization的简单用法》 - 基于 Objective-C
- Swift-->Json解析(原生NSJSONSerialization) - 基于Swift
- Swift-使用NSJSONSerialization生成或解析JSON数据 - 基于Swift
- NSJSONSerialization 官方文档(英)
其他 JSON 框架
- jsoncafe.com - JSON的在线模板驱动的模型类生成器。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
JSONDecoder | ★51.8k / Y | Apple 官方推出的基于 Codable 的 JSON 解析类 |
SwiftyJSON | ★19.6k / Y | 在Swift中处理JSON数据的更好方法,比较受欢迎,但采用下标方式获取数据,有人使用起来可能觉得比较麻烦,还容易发生拼写错误、维护困难等问题。 |
Mantle | ★11.2k / Y | 作者是 GitHub 的员工, 文档写的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application, 主要用来将 JSON 数据模型化为 Model 对象, 唱吧在前段时间也改用 Mantle 了。 |
ObjectMapper | ★8.5k / Y | 很赞 ObjectMapper 是一个基于 Swift 语言开发的能够让 JSON 与 Object 之间轻易转换的类库。通过 ObjectMapper 我们可以将 JSON 数据转换成 Model 对象或将 Model 对象转换成 JSON 数据。 |
ObjectMapper | ★8.5k / Y | 用Swift编写的框架,可以轻松地将Model对象(类和结构)与JSON相互转换,是面向协议的 Swift JSON 解析框架。 |
MJExtension | ★8.3k / Y | 实现 JSON 和模型之间的快速,便捷和非侵入式转换。 您的模型类不需要扩展另一个基类。 您无需修改任何模型文件。 |
JSONModel | ★6.8k | JSON的神奇数据建模框架。 创建快速强大,原子和智能的数据模型类。 |
JSONModel | ★6.8k | 解析服务器返回的Json数据的库,JSONModel源码解析一. |
JSONKit | ★6.2k | Objective-C JSON 工具。 |
JSONExport | ★4.3k | JSON export是一个用于macOS的桌面应用程序,它允许您将JSON对象导出为模型类,并使用您喜欢的语言将其与构造函数、实用程序方法、setter和getter关联起来。 |
YYModel | ★4.1k / Y | High performance model framework for iOS/OSX. |
SBJson | ★3.8k | 用 Objective-C 中实现了一个严格的JSON解析器和生成器框架。 |
JSON-Framework | ★3.8k | 这个框架用 Objective-C 实现了一个严格的 JSON 解释器和生成器。 |
HandyJSON | ★3.4k / Y | 一个方便的swift JSON对象序列化/反序列化库,阿里巴巴出品,有中文文档。 |
ParseSourceCodeStudy | ★2.8k | Facebook开源的Parse源码分析【系列】。 |
AlamofireObjectMapper | ★2.6k / Y | Alamofire 扩展,可使用 ObjectMapper 将 JSON 响应数据转换为快速对象。 |
Unbox | ★2k / Y | 一个易用的 Swift JSON 解码器 |
Gloss | ★1.7k / Y | 一个 Swift 写的 JSON 解析库 |
XMLDictionary | ★1.2k / Y | ios与mac os平台下xml与NSDictionary相互转化开源类库. |
KZPropertyMapper | ★1.1k | 以最少的代码实现数据映射和验证。 |
mapper | ★1.1k / Y | Swift 的 JSON 反序列化库。 |
PropertyMapper | ★1.1k | 使用最少的代码进行数据映射和验证。 |
Decodable | ★1.1k / Y | Swift 2 JSON 解析工具。 |
Freddy | ★1.1k / Y | 用于在Swift中解析JSON的可重用框架。 |
JASON | ★1k / Y | 具有出色性能和方便的运算符的 JSON 解析库 |
SwiftyJSONAccelerator | ★822 / Y | 使用 SwiftyJSON 或者 ObjectMapper 根据 JSON 生成 Swift 模型。支持 NSCoding 并且提供了使用 JSON 来表示模型的方法。 |
TouchJSON | ★806 | 一个 Objective-C 的 JSON 框架。 |
Genome | ★782 / Y | 一个易用、多样、安全,包含错误映射的JSON转Model的Swift库. |
Himotoki | ★779 / Y | 一个纯粹用 Swift 编写的类型安全的 JSON 解码库。 |
CodableAlamofire | ★743 / Y | Alamofire 的扩展程序,可将 JSON 数据转换为 Decodable 对象(Swift 4)。 |
Wrap | ★717 / Y | 易用的 Swift JSON 编码器。 |
Wrap.swift | ★717 / Y | 方便、易用的对象转 JSON 类库。 |
Marshal | ★690 | 一个好用的 JSON 解析框架 |
Elevate | ★624 / Y | Elevate是一个JSON解析框架,它利用Swift使解析变得简单、可靠和可组合。 |
JSONCodable | ★606 / Y | 基于 Swift 2.0 新特性(Protocol Extensions and Error Handling)的JSON 解析类。 |
JSONCodable | ★606 / Y | Swift json 编码解码三方库。 |
FlatBuffersSwift | ★552 / Y | 该项目将 FlatBuffers(一个高效的跨平台序列化库)引入进 Swift。 |
FastEasyMapping | ★549 | 一个快速序列化和反序列化 JSON 的框架。 |
Groot | ★530 | 将JSON字典和数组与 Core Data 托管对象相互转换。 |
ambly | ★518 | 将 ClojureScript REPL集成到嵌入式 JavaScriptCore 中。 |
Coolie | ★514 / Y | Swift json转model的三方库 。 |
PMHTTP | ★511 / Y | Swift/Obj-C HTTP框架,重点关注REST和JSON。 |
Cereal | ★374 / Y | Swift 对象序列化。 |
PMJSON | ★365 / Y | 纯Swift JSON编码/解码库。 |
OCMapper | ★347 / Y | Objective-C & Swift 通用的快速 JSON 模型转化框架。 |
JSONJoy-Swift | ★346 / Y | 可以将 JSON 转换为 Swift 对象。 |
Arrow 🏹 | ★334 / Y | 一个在Swift中进行优雅的JSON解析的方式。 |
Serpent | ★281 / Y | 一个用于序列化Swift结构和类(编码和解码)的协议。 |
Motis | ★253 | 使用Cocoa的键值编码(KVC)轻松实现JSON到NSObject的映射。 |
Tailor | ★249 / Y | 一个非常快和方便的对象映射Swift三方库. |
JAYSON | ★242 | 严格且可扩展的JSON库。 |
AlamofireJsonToObjects | ★156 / Y | 一个将json data转为Swift对象的类扩展 |
CleanJSON | ★143 | 继承自 JSONDecoder,在标准库源码基础上做了改动,以解决 JSONDecoder 各种解析失败的问题,如键值不存在,值为 null,类型不一致。有中文文档。 |
RFJModel | ★137 | RFJModel是一个IOS类库,可以将JSON字典自动装填到OBJC对象. |
Jay | ★133 / Y | 纯 Swift JSON 解析及格式化工具,支持 Linux 和 OS X 。 |
Alembic | ★116 / Y | 函数式JSON解析,映射到对象以及序列化为JSON。 |
DDModel | ★69 | 一个 HTTP-JSON/XML-ORM-Persistent Object 工具. |
Tyro | ★47 | 函数式 JSON 解析和编码 |
TidyJSON.swift | ★44 / Y | TidyJSON.swift一款简单、易用、明了的 JSON 解析小类库。 |
alexander | ★34 / Y | 用Swift编写的极其简单的JSON帮助程序。 |
Mappable | ★17 | 轻量且功能强大的JSON对象映射库,专门针对不可变属性进行了优化。 |
NSTEasyJSON | ★11 / Y | 在 Objective-C 中处理JSON数据的最简单方法(类似于SwiftyJSON)。 |
LazyObject | ★10 / Y | 可以将 JSON 延迟反序列化为强类型的 Swift 对象。 |
WAMapping | ★9 | 一个可将字典变成对象的库,反之亦然,专为速度而设计! |
NativeJSONMapper | ★2 / Y | 简单的 Swift 4 JSON 编码和解码框架。 |
XML 和 HTML 解析
地址 | Stars/Siwft | 简介 |
---|---|---|
Ono | ★2.6k | 处理iOS和macOS的XML和HTML的明智方法。 |
SwiftSoup | ★2.2k / Y | SwiftSoup: 纯 Swift HTML 解析器,支持 jquery 语法,能按照 CSS Selector 方式抽取 DOM (支持 Linux, iOS, Mac, tvOS, watchOS 等系统) |
Kanna | ★2k / Y | 是用于 macOS/iOS 的 XML/HTML解析器。 |
SWXMLHash | ★1.2k / Y | 一个简单的用 Swift 实现的 XML 解析器。 |
AEXML | ★862 / Y | 用Swift编写的简单轻巧的XML解析器。 |
Fuzi | ★846 / Y | 一个支持 XPath和 CSS Selector 的快速,轻量级的XML和HTML解析器,支持Swift。 |
Ji | ★819 / Y | Swift的 XML/HTML 解析器。 |
SwiftyXMLParser | ★343 / Y | 用 Swift 实现的简单XML解析器。 |
XMLCoder | ★280 / Y | 基于 Swift Codable 协议的 XML 编码/解码器。 |
GDataXML-HTML | ★280 | XML格式数据解析 |
HTMLKit | ★192 | 一个 Objective-C 实现的 HTML 解析框架。 |
SwiftyXML | ★65 / Y | 使用 swift 4 实现,最快的方式处理 XML 数据。 |
AlamofireXmlToObjects | ★64 | Fetch a XML feed and parse it into objects 🔶 |
序列化及表示层
地址 | Stars/Siwft | 简介 |
---|---|---|
swift-protobuf | ★3k / Y | 插件和运行时库,用于使用 Swift protobuf。 |
apollo-ios | ★2.5k | GraphQL iOS 客户端. |
FastCoding | ★968 | 是用来替代OSX及iOS中默认的序列化实现。它结构简单(仅头文件和.m文件两个)、支持ARC,线程安全,速度较内置实现更快. |
protobuf-swift | ★914 / Y | Google ProtocolBuffers 的 Swift 实现 |
JSONRPCKit | ★170 | 一个 JSON-RPC 2.0 库. |
其他工具
地址 | Stars/Siwft | 简介 |
---|---|---|
WKZombie | ★1.1k / Y | WKZombie 是一个iOS/macOS 的 Swift框架,无需用户界面或API(也称为无头浏览器)即可在网站内导航并收集数据。 它可以用于运行自动化测试或使用Javascript操作网站。 |
FeedKit | ★783 / Y | 用 Swift 编写的 RSS 和 Atom feed 解析器。 |
URLEmbeddedView | ★601 / Y | 可以自动缓存那些被识别为 Open Graph 协议(也叫做OG协议)的对象,同时可以将其以嵌入式卡片的方式来显示。 |
Erik | ★402 / Y | Erik 一个是基于WebKit的无头浏览器,无头浏览器可以用于网页功能测试,使用 javascript 操纵网页。 |
CoreXLSX | ★387 / Y | 支持 XLSX 文件格式,纯 Swift 实现。 |
SwiftCssParser | ★264 / Y | 用纯Swift编写的功能强大、可扩展的CSS解析器。 |
URLPreview | ★191 | 一个 NSURL 扩展,用于显示网页的预览信息。 |
AcknowledgementsPlist | ★70 | AcknowledgementsPlist管理依赖于iOS应用程序的库的许可证。 |
RLPSwift | ★22 / Y | 用Swift编写的递归长度前缀编码。 |
并发/调度/异步/多线程
多线程、并发相关框架 教程
GCD、多线程: Grand Central Dispatch,中文称为大中枢派发,是异步执行任务的技术之一
同步、信号量:
Swift 多线程、GCD、信号量
- 《Swift4.0 - GCD》
- 《Swift GCD DispatchSemaphore - 信号量》 - Swift 中信号量(DispatchSemaphore)的用法
- swift---GCD的基本使用
- Swift4 - GCD的使用
- 《Swift多线程:使用GCD实现异步下载图片》
多线程、并发相关框架
作业调度程序、协程、异步和类型安全线程库和框架
地址 | Stars/Siwft | 简介 |
---|---|---|
Venice | ★1.5k / Y | 用于Swift的CSP(协同、频道、选择)。 |
Queuer | ★901 / Y | 建立在操作队列和调度(也称为GCD)之上的队列管理器。 |
Overdrive | ★826 / Y | 专注于类型安全、并发和多线程的,快速 、专业的异步任务库。 |
Overdrive | ★826 / Y | 基于快速异步任务的Swift框架,关注类型安全、并发和多线程。 |
SwiftCoroutine | ★484 / Y | iOS和macOS的Swift协同程序库。 |
SwiftQueue | ★219 / Y | 具有并发运行、失败/重试、持久性、重复、延迟等功能的作业计划程序。 |
BLStopwatch | ★214 | 代码耗时打点计时器. |
Flow | ★213 / Y | Swift中面向操作的程序设计。 |
Concurrent | ★205 | 函数并发原语。 |
JX_GCDTimer | ★181 | 定时器,NSTimer和GCD哪个更好. |
Dispatch | ★179 / Y | 让 GCD 更容易、简单使用的轻量级的库。 |
Kommander | ★164 / Y | Kommander是一个在不同线程中管理任务执行的Swift库。通过定义一个简单但强大的概念,Kommand。 |
AsyncNinja | ★141 / Y | 一套完整的并发和反应式编程原语。 |
Threadly | ★62 / Y | Swift中的类型安全线程本地存储。 |
GroupWork | ★38 / Y | 在Swift中实现简单的并发异步任务。 |
Aojet | ★34 / Y | 一个 actor 模型库,基于 swift. |
Brisk | ★25 / Y | 允许简洁有效的并发操作的DSL,基于Swift |
SwiftyTask | ★20 / Y | 一个高性能的排队系统,用于管理App中的全部任务。 |
Flow-iOS | ★14 | 使您的逻辑流和数据流清晰易读。 |
StickyLocking | ★2 | 一种通用的嵌入式层次锁管理器,用于构建所有类型的高并发应用程序。 |
Thread | 多线程Demo集合. |
GCD 相关开源工具
- GCD 语法糖,工具和计时器*
地址 | Stars/Siwft | 简介 |
---|---|---|
Async | ★4.5k / Y | Swift 的 GCD 异步派发语法糖 |
YYDispatchQueuePool | ★428 / Y | iOS实用程序类,用于管理全局调度队列。 |
GCDKit | ★309 / Y | GCD 的 Swift 简化版. |
Chronos-Swift | ★250 / Y | 一套 GCD工具集 |
Me | ★193 / Y | 嵌套异步计算的超轻量解决方案。 |
Dispatch | ★179 | 只是一个很小的库,让GCD的使用更加容易和直观。 |
GCDTimer | ★179 / Y | 经过测试的 Swift GCD 计时器。 |
SwiftSafe | ★158 / Y | 线程同步变得容易,基于Swift |
AlecrimAsyncKit | ★91 / Y | 将 async and await 特性带给 Swift. |
Threader | ★37 / Y | 漂亮的GCD调用方式和更容易执行的代码 |
GrandSugarDispatch | ★31 | GCD 语法糖. |
SwiftyTask | ★20 / Y | 具有高性能的极端排队系统,可以关闭应用程序来管理应用程序中的所有任务。 |
事件总线
- 一些 Promises 和 Futures 库,用来帮助你更好地在 Swift 中实现异步程序.*
地址 | Stars/Siwft | 简介 |
---|---|---|
PromiseKit | ★12.7k / Y | iOS 和 macOS 版本的 Promises. |
Bolts | ★5.6k | Bolts是一个低层库的集合,旨在使开发移动应用程序更加容易,包括任务(promises)和 应用关联(deep links)。 |
promises | ★3.2k / Y | Google为Objective-C和Swift提供了一个同步结构,以方便编写异步代码。 |
SwiftTask | ★1.9k / Y | 基于 Swift, 功能包括 Promise + 进图 + 暂停 + 取消 + 重试. |
BrightFutures | ★1.8k / Y | 面向 Swift,旨在帮助开发者通过 promises 和 futures 编写更加复杂的异步代码。 |
Hydra | ★1.8k / Y | Promises 和 Await - 让 Swift 可以编写更好的异步代码。 |
Bolts-Swift | ★1.3k / Y | Bolts是一个低层库的集合,旨在使开发移动应用程序更容易。 |
SwiftEventBus | ★873 / Y | 一个为iOS优化过的,发布/订阅模式的事件总线。 |
then🎬 | ★866 / Y | Swift中优雅的异步代码。 |
FutureKit | ★756 / Y | 一个基于Swift的面向iOS和macOS的 Future/Promises 库。 |
SwiftNotificationCenter | ★601 / Y | 一种面向协议的通知中心,具有类型安全、线程安全和内存安全性。 |
Promise | ★599 / Y | 一个 Swift Promise 库, 部分基于Javascript的 A+规范。 |
signals-ios | ★526 | 有类型的事件. |
When | ★232 / Y | Swift中 Promises 的轻量级实现 |
Caravel | ★147 / Y | 用于 UIWebView 和 JS 的 Swift 事件总线。 |
NoticeObserveKit | ★145 / Y | NoticeObserveKit 是类型安全的 NotificationCenter 包装器,它将通知类型与信息类型相关联。 |
RWPromiseKit | ★112 | 一个面向 Objective-C 的轻量级 Promise 库. |
Promis | ★110 / Y | 一个易用的 Future 和 Promises 框架,基于 Swift. |
Continuum | ★84 | 基于 Lightweight UI / AnyObject 绑定的 NotificationCenter. |
Futures | ★55 / Y | 一个轻量级通用 promises 框架,可用用于 iOS, macOS, tvOS, watchOS, 服务端的 Swift. |
TopicEventBus | ★52 / Y | 发布-订阅模式的框架,能够按主题发布事件,(一个通知中心扩展备选方案)。 |
EasyFutures | ★41 / Y | Swift 版本的 Futures & Promises,好用,且高度模块化。 |
FutureLib | ★39 / Y | FutureLib 是一个纯 Swift 2 实现的库, 实现了 Futures 和 Promises,其灵感来自于 Scala. |
Bluebird.swift | ★37 / Y | 受到 Promise/A+, Bluebird 的启发, Swift 4 的实现. |
页面路由/App 路由
路由相关教程
相关路由框架
- 组件路由, 导航跳转框架, deep links 等等*
地址 | Stars/Siwft | 简介 |
---|---|---|
JLRoutes | ★5.3k | 适用于iOS的URL路由库,带有基于 block 的简单API。 |
DeepLinkKit | ★3.3k | 一种不错的路由匹配库,基于块的方式来处理 deep link. |
URLNavigator | ★2.4k / Y | 基于 Swift 的优雅路由 |
MGJRouter | ★2.2k | 一个高效/灵活的 iOS URL Router |
IntentKit | ★1.8k | 在iOS应用中处理第三方URL方案的更简便方案。 |
RxFlow | ★1.3k / Y | 一个iOS导航框架,基于响应式 Flow Coordinator 模式. |
Appz | ★1.1k / Y | 可以轻松启动并通过 deeplink 跳转到外部应用程序中,如果未安装则返回到web界面。 |
ApplicationCoordinator | ★626 | Coordinator是一个处理导航流的对象,并在调用链中为下一个 Coordinator 共享流的处理方式。 |
WAAppRouting | ★582 | 推荐!处理了 URL 识别和利用控制器显示解析后的参数,根据参数进行 URL 失败,并定位到对应的 controller 上. 提供一站式解决方案,一行代码即可全部搞定,而且控制器堆栈还能自动保存! |
ZIKRouter | ★453 / Y | 一个面向接口的路由框架,用于在OC&Swift、iOS&macOS中,发现模块并注入协议依赖项,以类型安全的方式处理路由。 |
Router | ★384 | 一个iOS的导航器 |
Crossroad | ★318 / Y | Crossroad 是一个聚焦于处理自定义 URL 模式订单的路由器。通过他,你可以处理多个URL并且更方便获取参数。 |
SwiftRouter | ★246 / Y | 一个iOS的基于URL的路由. |
RouteComposer | ★245 | 帮助处理视图控制器组合、路由和deeplink任务的库。 |
Marshroute | ★201 | Marshroute是一个应用简单且功能强大的iOS路由库。 |
HHRouter | ★141 | 一言以蔽之,URL Router 即将 UIViewController 映射成 URL,从而支持通过 URL 进行界面跳转。是的,就和 Web 一样。当然,这并不是 Web Developer 转职为 iOS Developer 后所做的无聊玩具。URL Router 有着许多切实的好处. |
Linker | ★131 / Y | 一个处理内外deeplink的轻量级方式. |
IKRouter | ★96 | URLScheme路由器支持为关联的 url 参数自动创建 UIViewControllers,以便允许创建导航堆栈。 |
LiteRoute | ★86 / Y | 可以方便地在 VIPER 之间进行转换,纯 Swift 实现。 |
DZURLRoute | ★73 | DZURLRoute是支持基于标准URL进行Native页面间跳转的Objective-C实现。方便您架构页面之间高内聚低耦合的开发模式。他的核心思想是把每一个页面当成一个资源,通过标准的URL协议(统一资源定位符)来定位到每一个可触达的页面(资源),基于 Objective-C,有中文文档。 |
CoreNavigation | ★69 | 可以在 controllers 之间轻松实现导航 |
routing-kit | ★59 / Y | routing-kit. |
ACRouter | ★30 / Y | Swift版页面路由, 组件化过程中快速页面解耦. |
多媒体功能
音频
相关教程
相关框架
- AudioPlayerSwift - AudioPlayer是一个用在iOS,macOS和tvOS应用程序中进行播放音频的简单类。
- AudioBus - 提供添加下一代实时应用到应用的音频路由。
- IOS录音和播放功能demo - 比较完整的ios录音和播放功能的实现.
- 音乐播放器 - 音乐播放器:显示歌词.
- amr - 做即时通讯的音频处理,录音文件是m4a,便于web端的音频播放.
- 边录音边转码 - 一边录音,一边将录制成的 wav 格式音频文件转码成 amr 音频格式。只支持真机运行调试.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
AudioKit | ★7.5k / Y | 一个强大的工具包,用于合成,处理和分析声音。 |
EZAudio | ★4.7k | 一个基于 Core Audio 的iOS/macOS音频可视化框架,可以进行实时,低延迟音频处理,其可视化功能很有用 |
TheAmazingAudioEngine | ★3k | 是iOS音频处理框架,简单易用,能对音频进行处理。 |
novocaine | ★2.2k | 无痛高性能音频处理,支持 iOS 和 macOS |
ESTMusicPlayer | ★2.1k | PHPHub开源播放器,默默点个赞 |
Porcupine | ★2.1k | 基于深度学习、适用于macOS,iOS和watchOS的设备上唤醒单词检测引擎。 |
KTVHTTPCache | ★1.8k | 唱吧出品音视频在线播放缓存框架. |
SubtleVolume | ★1.2k / Y | 用更精细的指示器替换系统音量弹出窗口。 |
PandoraPlayer | ★985 | 基于AudioKit的轻量级iOS音乐播放器。 |
SwiftySound | ★892 / Y | 超级简单的库,甚至使您可以用单行代码播放声音。 用Swift3 编写,支持iOS,macOS和tvOS。 CocoaPods 和 Carthage 兼容。 |
IQAudioRecorderController | ★606 | 一个嵌入式通用库,允许使用漂亮的用户界面在应用程序中录制音频。 |
AudioPlayer | ★564 / Y | AudioPlayer是AVPlayer的语法糖,用于播放您的音频文件(本地或远程)。 |
MusicKit | ★551 / Y | 在Swift中进行音乐创作和转换的框架。 |
Beethoven | ★535 / Y | 一个音频处理Swift库,可用于音乐信号的音高检测。 |
DFPlayer | ★482 | 简单又灵活的iOS音频播放组件. |
TheAmazingAudioEngine2 | ★467 / Y | The Amazing Audio Engine 是一个用于iOS音频应用程序的复杂框架,功能强大。 |
ESTMusicIndicator | ★429 / Y | 用Swift编写的有炫酷动画音乐指示器。 |
ROMPlayer | ★416 / Y | AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player. |
QuietModemKit | ★409 | Quiet Modem 的 iOS 框架(数据通过声音传输) |
Voice Overlay | ★400 / Y | 一种叠加层,可获取用户的语音权限并在可自定义的用户界面中以文本形式输入。 |
TuningFork | ★391 / Y | iOS的简单调谐器。 |
NVDSP | ★381 | 用于音频的iOS/macOS DSP(带 Novocaine)。 |
Chirp | ★311 / Y | 在您的Swift应用中准备,播放和删除声音的最简单方法! |
InteractivePlayerView | ★273 / Y | 自定义iOS音乐播放器视图。 |
AudioIndicatorBars | ★269 | AIB为应用程序用户指明正在播放的音频。就像播客应用一样。 |
SRGMediaPlayer-iOS | ★107 | 适用于iOS的SRG Media Player库,其提供了一种向任何iOS应用程序添加通用音频/视频播放器的简单方法。 |
sound-fader-ios | ★99 / Y | 一个 Swift 写的 AVAudioPlayer 的声音控制器 |
Cephalopod | ★99 / Y | 一个为AVAudioPlayer用Swift写的音量控制器。 |
ModernAVPlayer | ★97 / Y | 该持久播放器在网络连接不良后可以恢复播放,甚至可以在后台模式下运行,还可以管理耳机交互、系统中断,当前播放信息和远程命令等。 |
MCAudioInputQueue | ★82 | 简易录音类,基于AudioQueue的. |
SonogramView | ★59 | 歌曲的音频可视化工具。 |
BPMAnalyser | ★50 | 从音频文件中获取BPM速率的快速简单工具。 |
QHSpeechSynthesizerQueue | ★38 | AVSpeechSynthesizer的队列管理系统(iOS中的文本到语音)。 |
MusicPlayert | ★11 | MusicPlayert音乐播放器,用reveal可以查看层次关系,主要实现了歌词的同步显示. |
地址 | Stars/Siwft | 简介 |
---|---|---|
ios-jrtplib | ★10 | UDP 传输音视频数据的 C++ 库 |
MusicPlayert | MusicPlayert本地音乐播放+音乐信息显示+在线歌词搜索显示(千千静听服务器)。 | |
FSVoiceBubble | 一个轻量级播放录音音频的气泡:1.支持短时间的音频播放(支持网络音频);2.播放时的声波动画;3.自定义包括声波的颜色,气泡的背景等。 |
地址 | Stars/Siwft | 简介 |
---|---|---|
Swift-Radio-Pro | ★2.4k / Y | 集成 LastFM 的专业电台应用(基于 Swift 2.0)。 |
recordDemo.swift | ★47 / Y | 一个Swift语言实现直接可以用的录音Demo,实现说明。 |
流媒体框架
- FreeStreamer - 效率很高、所占内存很小的在线流媒体(Audio Stream)播放引擎,支持 ShoutCast 和 IceCast 流媒体协议,以及可以暂停和恢复播放,支持背景播放。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
LFLiveKit | ★3.9k | H264和AAC硬编码,支持GPUImage Beauty,rtmp传输,网络丢帧弱,动态切换率高。 |
StreamingKit | ★2.2k / Y | 快速且可扩展的无缝 AudioPlayer/AudioStreamer。 |
HaishinKit.swift | ★1.8k / Y | 通过RTMP,HLS的摄像头和麦克风流媒体库。 |
lf.swift | ★1.8k / Y | 相机和麦克风流媒体库,支持RTMP,HLS for iOS,macOS。 |
Jukebox | ★521 / Y | 播放本地和远程音频文件的播放器. 基于 Swift. |
Airstream | ★352 / Y | 使用 AirPlay 在 Apple 设备之间流式传输音频的框架。 |
OTAcceleratorCore | ★27 / Y | 通过Tokbox将音频/视频(屏幕共享)集成到任何iOS应用程序的一种轻松方法。 |
视频
相关教程
相关框架
- AVAnimator - 一个开源的iOS native 库,可轻松实现启用视频/音频的应用程序。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
XCDYouTubeKit | ★2.7k | YouTube 视频播放器,适用于 iOS, tvOS and macOS. |
DOUAudioStreamer | ★2.7k | 豆瓣开源 DOUAudioStreamer 是 iOS 和 Mac 的基于核心音频的流媒体音频播放器。 |
MHVideoPhotoGallery | ★2k | 一个照片和视频相册。 |
Periscope VideoViewController | ★498 / Y | 带有Periscope快速倒带控制的视频视图控制器。 |
YoutubeKit | ★442 / Y | 完全支持Youtube IFrame API和YoutubeDataAPI的视频播放器,可轻松创建Youtube应用。 |
PryntTrimmerView | ★429 / Y | 一组UI元素,用于修剪,裁剪和选择视频中的帧。 |
ios-360-videos | ★257 | NYT360Video 基于 AVPlayer 播放 360度视频。 |
iOSHardwareDecoder | ★256 | 硬解码 h264 的示例 |
iOS-h264Hw-Toolbox | ★241 | 硬编码 h264 的库 |
MPMoviePlayerController-Subtitles | ★186 / Y | MPMoviePlayerController-Subtitles 是一个在iOS上显示字幕的库,作为Swift扩展构建的,非常易于集成。 |
AVPlayerViewController-Subtitles | ★160 / Y | AVPlayerViewController-Subtitles 是一个在iOS上显示字幕的库,作为Swift扩展构建的,非常易于集成。 |
swift-360-videos | ★117 / Y | 纯Swift(非 SceneKit)3D库,专注于视频和360度视频。 |
PlayerView | ★114 / Y | Player View 是 AVPlayer 的代理视图,基于 Swift. |
SRGMediaPlayer-iOS | ★107 | SRG Media Player 库提供了一种将通用音频/视频播放器添加到任何iOS应用程序的简单方法。 |
ABMediaView | ★79 | 是 UIImageView 的子类,用于插入图像,视频,GIF和音频显示,并具有用于全屏显示和最小化右下角的功能。 |
JDVideoKit | ★23 | 通过此框架,您可以轻松地将视频转换为三种常见的视频类型。 |
视频播放
- 自定义视频播放器AVPlayer - 利用系统类AVPlayer实现完全自定义视频播放器,显示播放时间,缓存等功能。代码清晰,注释详细.
- VLC - VCL官网,VLC for iOS 2.7.2 source code。
- ffmpeg - ffmpeg官网,FFmpeg在iOS上完美编译。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
ijkplayer | ★26.6k | 非常赞 B站(Bilibili)开源的视频播放器,支持Android和iOS. iOS中集成ijkplayer视频直播框架。 |
FFmpeg | ★19.8k | 一个处理多媒体数据的开源、免费的库,可以用来记录、转换数字音频、视频,并能将其转化为流. ffmpeg - ffmpeg官网,FFmpeg在iOS上完美编译. |
mpv | ★12.3k | Video player based on MPlayer/mplayer2. |
vlc | ★6.2k | VLC media player. |
ZFPlayer | ★6.1k | 基于AVPlayer,支持横屏,竖屏(全屏播放也可以锁定屏幕方向),上下滑动调节音量,屏幕亮度左右滑动调节播放进度。 |
WMPlayer | ★3.1k | 赞 WMPlayer视频播放器,AVPlayer的封装,继承UIView,想怎么玩就怎么玩。支持播放mp4、m3u8、3gp、mov,网络和本地视频同时支持。全屏和小屏播放同时支持。 cell中播放视频,全屏小屏切换自如. |
MobilePlayer | ★2.8k / Y | 一个强大完善且完全可定制的 iOS 媒体播放器。 |
kxmovie | ★2.7k | 使用ffmpeg的影片播放器,修改说明, 修改代码,基于FFmpeg的kxMoive艰难的编译运行. |
JPVideoPlayer | ★2.1k | 类似微博主页在列表中自动播放视频. |
KRVideoPlayer | ★2.1k | 36氪开源的视频播放器 |
JPVideoPlayer | ★2.1k | Automatic play video in UITableView like Weibo home page in main thread and never block it. |
FreeStreamer | ★2k | FreeStreamer流媒体音乐播放器,cpu占用非常小. |
SGPlayer | ★1.8k | A powerful media player framework for iOS, macOS, and tvOS. Support 360° panorama video, VR video. RTMP streaming. |
Player | ★1.6k / Y | Swift中的视频播放器,一种在iOS或tvOS应用中播放和流媒体的简单方法。 |
BMPlayer | ★1.5k / Y | iOS 的 swift3 和 swift2 中的视频播放器基于 AVPlayer,支持水平,垂直屏幕。 支持调整音量,弯曲度和滑动搜索。 |
TBPlayer | ★1.3k | 视频变下变播,把播放器播放过的数据流缓存到本地,支持拖动,采用avplayer.实现说明. |
Swift-YouTube-Player | ★701 / Y | Swift库,用于在iOS应用程序中嵌入和控制YouTube视频! |
PBJVideoPlayer | ★618 | 一个易用的流媒体播放器. |
VersaPlayer | ★524 | 适用于iOS,macOS和tvOS的通用AVPlayer实现。 |
iFrameExtractor | ★462 | 开源视频播放器, ffmpeg在iOS的使用-iFrameExtractor源码解析,文章。 |
PKShortVideo | ★457 | iOS仿微信小视频功能开发优化记录. |
plask | ★428 | Plask is a multimedia programming environment. |
VGPlayer | ★368 / Y | Swift中的简单iOS视频播放器,支持本地和网络播放,背景播放模式。 |
MRVLCPlayer | ★355 | 相信Mac用户都很熟悉一款VLC播放器,这款播放器在Mac上表现异常优异,支持的格式几乎涵盖了所有格式(就是这么屌!)。没错,就是它创造者--VideoLAN,开源了一款牛逼的视频播放框架MobileVLCKit!介绍信息. |
DraggableYoutubeFloatingVideo | ★299 | 展示像类似Youtube移动应用的那种浏览视频的效果,当点击某视频时能够从右下方弹出一个界面,并且该界面能够通过手势,再次收缩在右下方并继续播放,通过AutoLayout设计实现. |
VIMVideoPlayer | ★284 | 一个针对 AVPlayer 和 AVPlayerLayer 的简单封装 |
HcdCachePlayer | ★196 | 在线视频边下边播,支持缓存到本地. |
PlayerKit | ★144 | 一款很好的视频播放器示例 |
GAPlayer | ★91 | 播放器内核为IJKPlayer和AVPlayer(一句代码切换内核) 支持M3U8/MP3/MP4等格式本地/在线播放,支持片头/片尾广告等功能齐全的播放器. |
VideoPager | ★50 | 分页视频组件,以及一些控制组件。 |
KJPlayer | ★41 | KJPlayer是一款视频播放器,AVPlayer的封装,继承UIView。支持播放网络和本地视频、播放多种格式,视频边下边播、优先播放缓存视频,支持拖动、手势快进倒退、增大减小音量、重力感应切换横竖屏等等 |
fmpro | ★28 | 电台播放器,支持锁屏歌词,支持基本播放流程,歌词展示,后台锁屏播放和控制以及锁屏后封面+歌词,fmpro_R . |
IWatch | ★14 | 一个视频日报类的app 播放器用到了AVFoudation. |
KrVideoPlayerPlus | ★2 | 根据36Kr开源的KRVideoPlayer 进行修改和补充实现一个轻量级的视频播放器,满足大部分视频播放需求. |
VKVideoPlayer | 可定制性比较高的播放器 | |
SSVideoPlayer | 一个支持本地和网络视频播放的库. | |
Eleven | Eleven Player - 一个使用 FFmpeg 实现的简单强大的 iOS 开源播放器。 | |
bilibili-mac-client | 👍 bilibili非官方的mac客户端. |
视频处理
地址 | Stars/Siwft | 简介 |
---|---|---|
BeautifyFaceDemo | ★2.3k | 一个基于 GPUImage 的实时直播磨皮滤镜的开源实现,主要功能脸部去斑磨皮. |
simplest_ffmpeg_mobile | ★1.7k | ffmpeg examples in Android / IOS / WinPhone. |
WAVideoBox | ★612 | 秒级! 三行代码实现iOS视频压缩、变速、混音、合并、GIF水印、旋转、换音、裁剪 ! 支持不同分辩率,支持你能想到的各种混合操作! 扩展性强...更多功能不断增加中. |
视频录制
地址 | Stars/Siwft | 简介 |
---|---|---|
LLSimpleCamera | ★1.2k | 视频录制 A simple, customizable camera control - video recorder for iOS. |
SlowMotionVideoRecorder | ★482 | 120 fps SLO-MO video recorder using AVFoundation. Including convenient wrapper class. Available on the iPhone5s. |
VideoBeautify | ★443 | 功能酷似美拍,秒拍等应用的源码:对视频进行各种美化处理,采用主题形式进行分类,内含各种滤镜,动画特效和音效等. |
IPDFCameraViewController | 支持相机定焦拍摄、滤镜、闪光、实时边框检测以及透视矫正功能,并有简单易用的API. |
视频剪切
地址 | Stars/Siwft | 简介 |
---|---|---|
ICGVideoTrimmer | ★607 | ICGVideoTrimmer提供提供视频剪切的视图(类似系统相册中浏览视频时顶部那个条状视图),左右两个边界选择器还能够自定义. |
VideoEditing | ★123 | Video processing of the video capture and add background music. |
直播相关组件
地址 | Stars/Siwft | 简介 |
---|---|---|
MiaowShow | ★2.7k | iOS视频直播项目 http://www.jianshu.com/users/9723687edfb5. |
PLPlayerKit | ★1.8k | PLPlayerKit 是 Pili 直播 SDK 的 iOS 播放器。支持所有直播常用的格式,如:RTMP、HLS、FLV。拥有优秀的功能和特性,如:首屏秒开、追帧优化、丰富的数据和状态回调、硬解软解支持。而且可以根据自己的业务进行高度定制化开发. |
520Linkee | ★1.8k | 本项目实现了作为一个直播App的基本功能,比如本地视频流采集、播放、美颜、礼物、点赞出心等. |
LMLiveStreaming | ★783 | iOS Live,H264 and AAC Hard coding,support GPUImage Beauty, rtmp and flv transmission,weak network lost frame,Dynamic switching rate 参考文档. |
LMLiveStreaming | ★783 | iOS直播,支持H246/AAC,支持GPUImage美化,支持rtmp和flv,较慢的网络优化. |
Tencent-NOW | ★721 | iOS视频直播:高仿 腾讯旗下 < NOW > 直播 类似 映客 斗鱼 直播类型 喜欢的记点star谢谢 IOS Live video. |
直播技术的总结 | ★561 | |
PLMediaStreamingKit | ★483 | PLMediaStreamingKit 是 Pili 直播 SDK 的 iOS 推流端,支持 RTMP 推流,h.264 和 AAC 编码,硬编、软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能. |
CameraStickerDemo | 基于GPUImage的实时视频流贴纸Demo |
播放器弹幕
地址 | Stars/Siwft | 简介 |
---|---|---|
BarrageRenderer | ★1.9k | 一个 iOS 上的弹幕渲染库. |
HJDanmakuDemo | ★817 | iOS端视频弹幕. |
LiveSendGift | ★312 | 直播发送弹幕效果. |
GIF
相关教程
GIF 开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
FLAnimatedImage | ★7.5k | 为iOS执行动画GIF引擎。 |
droptogif | ★2.6k / Y | droptogif视频拖拽到应用窗口后自动转换为 GIF 动画(其转换进程动画效果也超赞). |
gifu | ★2.4k / Y | iOS 上支持动态 GIF 的 Swift 框架。 |
YLGIFImage | ★1.8k | 异步的 GIF 图像解码和图片浏览器。支持 GIF 图动画,但只消耗少量的内存。 |
APNGKit | ★1.7k / Y | 高性能且已令人愉悦的方式在iOS中使用APNG格式进行播放。 |
YYImage | ★1.6k | 适用于iOS的图像框架,用于显示/编码/解码动画WebP,APNG,GIF等。 |
SwiftGif | ★1.2k / Y | A small UIImage extension with gif support 🔶 |
SwiftGif | ★1.2k / Y | 支持 gif的小型 UIImage扩展。 |
SwiftyGif | ★1.2k / Y | 一个高性能GIF引擎。 |
AnimatedGIFImageSerialization | ★1.1k | 对iOS的提供完整GIF动画支持,包括函数、NSJSONSerialization样式类和(可选)UIImage swizzing |
JWAnimatedImage.swift | ★1k / Y | JWAnimatedImage.swift集中了目前主流的 GIF 显示库(如 FLAnimatedImage,Gifu 等)的优点,进行重构,代码短小精悍。而且使用了新的 frame 提取算法。 |
AImage | ★1k / Y | 一个基于Swift的 iOS GIF & APNG 引擎,内存和CPU使用率低,针对多图像情况进行了优化。 |
XAnimatedImage | ★565 | XAnimatedImage是一个基于FLAnimatedImage的 GIF 动画引擎 |
UIImageView-PlayGIF | ★433 | UIImageView-PlayGIF. |
YLGIFImage-Swift | ★111 / Y | YLGIFImage-Swift。 |
PHImageKit.swift | ★103 / Y | 出自 Product Hunter 开发小组的带下载、缓存的 GIF 播放组件库。使用简单又方便。 |
NSGIF2 | ★83 | 从提供的视频文件url简化GIF的创建。 |
GIF 开源应用程序
地址 | Stars/Siwft | 简介 |
---|---|---|
open-source-ios-apps#gif | ★23.6k | Gif 相关的开源 ios APP。 |
图片处理
图片处理相关教程、资讯
- iOS 关于UIImage的处理总结
- 《GPUImage详解》
- 《OpenGLES详解》 - 一个相对完整的OpenGLES的学习博客,包含源码.
- 《OpenGLES系列教程》
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
LearnOpenGLES | ★1.4k | OpenGL ES的各种尝试. |
图像处理开源框架
- PhotoEditorSDK - 为您的应用程序提供完全可自定义的照片编辑器.
- hotoimagefilter - 专业介绍图像处理中各种滤镜的算法实现,C#版本.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SDWebImage | ★22.7k | 支持 UIImageView 的异步图像下载器(支持缓存),广泛使用的加载图片第三方库 |
GPU Image | ★19.3k | 一个基于GPU的开源 iOS 图片/视频处理工具。提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜; 基于GPU的图像加速,因此可以加速对实时摄像头视频、电影以及image的滤镜和其它效果处理,并且能够自定义图像滤镜。另外, GPUImage支持ARC。 |
Kingfisher | ★16.2k / Y | 一个轻量级的纯Swift实现的库,用于从Web下载和缓存图像。Kingfisher 是 Swift 中使用比较广泛的图片存储库。 |
MWPhotoBrowser | ★8.7k / Y | 一个简单的iOS照片和视频浏览器,具有网格视图,标题和选择功能。 |
FastImageCache | ★8.1k | 用于在滚动时快速显示图像的iOS库。 |
Nuke | ★5k / Y | 图像加载,处理,缓存和预热,是基于 Swift 下图片处理库。 |
FXBlurView | ★5k | 背景模糊 |
GPUImage2 | ★4.4k / Y | GPU image 2是一个BSD许可的Swift框架,用于GPU加速视频和图像处理。 |
PINRemoteImage | ★3.8k | 一个线程安全,高性能,功能丰富的图像获取器,pinterest 出品 效果不错。 |
TOCropViewController | ★3.5k | 一个视图控制器,允许用户裁剪 UIImage 对象。 |
YYWebImage | ★3.5k | 异步图像加载框架(支持WebP、APNG、GIF)。 |
AlamofireImage | ★3.5k / Y | 基于 Alamofire 的图像组件库,支持 Swift。 |
FaceAware | ★2.9k / Y | UIImageView 在使用AspectFill时能够聚焦于图像中的人脸 |
UIImageColors | ★2.8k / Y | 针对UIImage 的 iTunes 风格的颜色拾取器. |
NYTPhotoViewer | ★2.7k / Y | 抽屉菜单和照片查看器。 |
IDMPhotoBrowser | ★2.7k / Y | 一套照片浏览器/查看器,非常好用。 |
NYXImagesKit | ★2.6k | 图片过滤等N种效果集合 |
FlagKit | ★2.6k / Y | 漂亮的扁平化旗帜图标,可用于 APP 上也可以用在 Web。 |
Toucan | ★2.4k / Y | Swift中的出色图像处理框架 |
RSKImageCropper | ★2.3k | 一个iOS图像裁剪器,类似于“联系人”应用程序,支持横向定位。 |
ImageViewer | ★2.3k / Y | ATwitter上的图片查看器。 |
SKPhotoBrowser | ★2.1k / Y | 简单的图片浏览/查看器,灵感来自Facebook,Twitter,由swift编写。 |
Filterpedia.swift | ★2.1k / Y | 强大的图片滤镜库演示。 |
Pixel | ★2k / Y | 一个使用CoreImage的图像编辑器和引擎。 |
GPUImage3 | ★1.9k / Y | GPUImage 3是BSD许可的Swift框架,用于使用Metal进行GPU加速的视频和图像处理。 |
PinterestSwift | ★1.8k / Y | swift,Pinterest 风格图片缩放、切换示例。 |
Twitter Image Pipline | ★1.8k | 用于在应用程序中获取和存储图像的简化框架。 |
TinyCrayon | ★1.7k / Y | 一个智能且易用的图像掩蔽、剪切 SDK。 |
EBPhotoPages | ★1.7k | 具有现代功能集的iOS照片库。 与Facebook照片浏览器类似的功能。 |
TLPhotoPicker | ★1.6k / Y | iOS库的多相集选择器,类似于 facebook。 |
Sharaku | ★1.5k / Y | 类似于 Instagram 的图像筛选器 ViewController。 |
ImagePickerSheetController | ★1.5k / Y | ImagePickerSheetController就像iMessage中的自定义照片操作表一样,只是没有毛刺。 |
ImageSlideshow | ★1.4k / Y | 带有循环滚动,计时器和全屏查看器的快速图像幻灯片。 |
Concorde | ★1.4k / Y | 下载并解码渐进式 JPEG 图片。 |
Gallery | ★1.2k | 也许是您的下一个喜欢的图像和视频选择器。 |
Lightbox | ★1.2k / Y | 一个方便和易用的图像查看器。 |
DFImageManager | ★1.2k | 从各种来源获取图像的现代框架。零配置,但有很强的定制和扩展性,基于 NSURLSession。 |
YUCIHighPassSkinSmoothing | ★1.1k / Y | 使用Apple的Core Image Framework实现皮肤平滑的方法。 |
ImageScout | ★932 / Y | fastimage 的 Swift 实现,支持 PNG,GIF和JPEG。 |
CTPanoramaView | ★928 / Y | 使用触摸或基于运动的控制选项显示球形或圆柱形全景张照片。 |
AsyncImageView | ★922 | UIImageView 的异步图像加载和显示扩展,不会阻塞 UI 线程。 |
greedo-layout-for-ios | ★837 | iOS的全宽高比网格布局。 |
FlexibleImage | ★790 / Y | 一种简单的图像播放方式! |
ShadowImageView | ★776 | ShadowImageView是iOS 10 Apple Music风格的图像视图,可帮助您创建带有阴影的精致图像。 |
Paparazzo | ★685 | 具有编辑功能的自定义iOS相机和照片选取器。 |
ComplimentaryGradientView | ★676 / Y | 创建从图像中突出颜色生成的互补渐变,该框架是受 Grade.js 的启发。 |
OnlyPictures | ★650 | 一种简单而灵活的添加重叠圆形图片源的方法。 |
MetalPetal | ★636 | 基于Metal的GPU加速的图像/视频处理框架 |
JFImagePickerController | ★600 | 效果不错的 |
AFImageHelper | ★567 / Y | swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取。 |
Imaginary | ★533 / Y | 处理远程映像,就像一,二,三一样简单。 |
SABlurImageView | ★530 / Y | 轻松地为图像添加动画模糊/取消模糊效果。 |
GPUImage Demo | ★512 | 源码级别对GPUImage进行剖析以及尝试. |
AXPhotoViewer | ★507 / Y | 一个 iPhone/iPad照片库查看器,可用于查看大量(或较少)照片 |
Viewer | ★490 / Y | 具有本地和远程视频和图像支持的图像查看器(或灯箱)。 |
FaceCropper | ★479 | 使用 iOS 11 Vision API 提供的功能图像内部裁剪人脸。 |
UIImageView-BetterFace-Swift | ★471 / Y | https://github.com/croath/UIImageView-BetterFace 的 Swift 版本 |
JLStickerTextView | ★444 / Y | UIImageView允许您在其上添加多个Label(支持多行文本),您可以用一根手指随意编辑,旋转,调整Label的大小,然后在Image上呈现文本。 |
JLStickerTextView | ★444 / Y | 一个给UIImageView添加一个、多个Label的库,并且可以对其进行编辑、旋转、大小调整. |
TGLParallaxCarousel | ★433 / Y | 具有视差效果的轻量级三维线性旋转木马视图控件。 |
AGImagePickerController | ★424 | 相册选择 |
BKAsciiImage | ★423 | 将 UIImage 转换为 ASCII 艺术字体,一般不咋用,玩具。 |
SFSafeSymbols | ★409 | 使用静态类型安全地访问Apple的SF符号。 |
SimpleImageViewer | ★402 | 具有缩放和交互解除转换功能的快速图像查看器 |
ImageButter | ★395 | 其可以使处理图像变得非常平滑。 |
DNImagePicker | ★387 | 类似微信的图片选择器 |
Agrume | ★386 / Y | 用Swift编写的 有"lemony fresh"赶脚的(不知道如何翻译更贴切) 的iOS图像查看器。 |
UIImage DSP | ★375 | 使用 vDSP/Accelerate 框架加速的 iOS UIImage 处理。 |
KFSwiftImageLoader | ★341 / Y | 轻量级和高能效的纯Swift异步Web图像加载器,具有适用于iOS和Apple Watch的内存和磁盘缓存。 |
MCScratchImageView | ★341 / Y | 一个自定义的图像视图,用于覆盖其他视图的表面,就像一张草稿卡,用户可以滑动覆盖物来查看下面的视图。 |
Serrata | ★318 | 一个幻灯片图像查看器库,类似于 Twitter 和 LINE 中的那样。 |
Moa | ★311 / Y | 适用于iOS,tvOS和macOS的图像下载扩展。 |
Vulcan | ★290 / Y | 具有优先级的多图片下载器,基于 Swift 。 |
ImageLoaderSwift | ★290 / Y | 使用Swift编写轻量级快速图像加载器。 |
ImageDetect | ★274 / Y | 使用ios11visionapi检测和裁剪图像中的人脸、条形码和文本。 |
MapleBacon | ★271 / Y | 用 Swift 编写的iOS图像下载和缓存库。 |
ZoomTransition | ★262 / Y | swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。 |
publishImageAndVideoAnsRecord | ★256 | 发布视频、语言、照片模块集合,其中包括带placeHolder的TextView、录制小视频、录制音频、选择照片或拍照. |
SnapSliderFilters | ★246 / Y | 给图像加贴图、文字的类似阅后即焚的功能 |
MetalAcc | ★240 / Y | 使用Swift编写的基于GPU的媒体处理库。 |
FacebookImagePicker | ★217 / Y | 用 Swift 编写的李四 Facebook 相册照片选择器。 |
StyleArt | ★205 | 一个样式艺术库,使用COREML和一组训练过的机器学习模型处理图像,并将其转换为艺术样式。 |
SwiftPhotoGallery | ★203 / Y | 简单,全屏的图片库,带有点击,滑动和捏合手势。 |
core-image-explorer | ★201 / Y | Core Image 滤镜处理图片-- swift ,Core Image 介绍。 |
InitialsImageView | ★193 | 一个UIImageView扩展,可生成字母首字母作为用户个人资料图像的占位符,具有随机的背景色。 |
SwiftyAvatar | ★185 / Y | 一个用于创建圆形头像图像的 UiimageView 类,IBDesignable可通过 storyboard 进行更改。 |
DTPhotoViewerController | ★179 / Y | 完全可自定义的照片查看器ViewController,灵感来自Facebook照片查看器。 |
ATGMediaBrowser | ★171 / Y | 具有多种预定义过渡样式的图像幻灯片查看器,并能够轻松创建新过渡效果。 |
PASImageView | ★169 / Y | 圆角图片加载视图,可以轻松换算,基于Swift |
LetterAvatarKit | ★168 / Y | 一个 UIImage 扩展,可以生成首字母头像,类似于通讯录,基于 Swift. |
YBPasterImage | ★143 | 给图片添加滤镜、贴纸和标签功能,支持14种滤镜效果,17种标签样式. |
ZImageCropper | ★141 / Y | 一个Swift项目,可以裁剪任何形状的图像。 |
JMCMarchingAnts | ★135 / Y | 用于将行进蚂蚁(动画,也可以理解为动态的虚线)选择添加到图像边缘的库。 |
FaceLandmarksDetection | ★124 | 在图像中查找脸部特征,例如脸部轮廓,眼睛,嘴巴和鼻子 |
IJSPhotoSDK | ★119 | ios多图选择,高仿微信发朋友圈的功能1, 照片选取预览,有相册UI 预览UI 详情UI 可以创建相册等, 基于 Objectvie-C |
Navi | ★115 / Y | 专注于头像缓存。 |
BSZoomGridScrollView | ★107 / Y | 可自定义的网格样式scrollView UI库,用于显示您的UIImage数组输入,该输入主要用于SwiftUI并与UIKit互操作。 |
CDFlipView | ★97 / Y | 通过使用翻转效果从一个图像集过渡到另一个图像集的视图。 |
DynamicClipImage | ★96 | iOS实现动态区域裁剪图片. |
JDSwiftAvatarProgress | ★89 / Y | 简单的可自定义头像图像,方便自定义的异步加载展位图进度条动画。 |
ShinpuruImage | ★86 / Y | Accelerate/vImage 和 Core Image 过滤器的语法糖。 |
YXTMotionView | ★77 | 一个自定义的图片视图,它实现了依靠设备运动来滚动图片。 |
APKenBurnsView | ★73 / Y | Ken Burns具有面部识别功能! |
JHFilterDemo | ★71 / Y | 图片滤镜生成器 |
YapImageManager | ★69 / Y | 一个用Swift编写的高性能图像下载程序,基于 YapDatabase。 |
PPAssetsActionController | ★67 / Y | 具有 Assets Preview 功能的高度可定制的动作表控制器。 |
Ody | ★47 / Y | Ody是一个易于使用的随机图像生成器,使用Swift构建,非常适合当做占位符。 |
CLImageViewPopup | ★32 | 弹出一个简单的全屏图像。 |
TJProfileImage | ★32 | 在Interface Builder 中实时渲染组件的属性。 |
JTSImageViewController | ★28 | iOS 交互式图片浏览器。 |
HCPhotoEdit | ★27 | 仿Camera360 SDK,利用GPUImage框架实现基本的图片处理功能. |
THTiledImageView | ★24 | 通过平铺技术提供超高质量的图像。 |
AZImagePreview | ★21 | 使图像查看更容易的框架 |
Avatar | ★21 | 使用CoreGraphics和QuartzCore生成随机的用户头像图像。 |
Banana | ★16 | 具有非常简单的界面的图像滑块。 |
Silo | ★16 | 带加载程序的图像加载框架。 |
OverlayComposite | ★11 / Y | 用Swift编写的异步,多线程图像合成框架。 |
Ebblink | ★4 | 一个iOS SDK,用于共享照片,该照片会自动失效,可以随时删除。 |
图像浏览工具
- WZRecyclePhotoStackView - 删除照片交互--WZRecyclePhotoStackView,就是模拟生活中是删除或保留犹豫不决的情形而产生的。 在上滑,下滑的部分,借鉴了TinderSimpleSwipeCards.
- 自定义宽高比的相册框 拍照 - 取出照片时 弹出自定义view。在这个自定义view上创建一个需要的相框大小的view层 把取出的图片赋值给UIImageView按缩放添加到这个层上。对uiimageView添加捏合、移动 手势。添加按钮 选取,最后根据位移和缩放比例 裁剪image.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
TZImagePickerController | ★7.1k | 很赞 一个支持多选、选原图和视频的图片选择器,同时有预览功能,适配了iOS6789系统。教程. |
react-native-image-crop-picker | ★4.3k / Y | iOS/Android image picker with support for camera, configurable compression, multiple images and cropping. |
react-native-image-crop-picker | ★4.3k / Y | iOS/Android image picker with support for camera, configurable compression, multiple images and cropping. |
ZLPhotoBrowser | ★3k | 方便易用的相册多选框架,支持预览/相册内拍照、预览快速多选相片,3DTouch预览照片,单选gif、Live Photo及video;相册混合选择;原图功能;支持多语言国际化(中文简/繁,英语,日语);在线下载iCloud端图片;自定义最大选择量及最大预览量;自定义照片升序降序排列;自定义照片显示圆角弧度. |
CLImageEditor | ★2.2k | 超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情. |
PYPhotoBrowser | ★2k | 图片浏览器。主要用于社交app,用于呈现一组图片。流水布局 、 线性布局;单击 、双击 、捏合 、旋转、拖拽、侧滑. |
CorePhotoBroswerVC | ★1.6k | 快速集成高性能图片浏览器,支持本地及网络相册. |
PhotoTweaks | ★1.2k | 这个库挺赞的,正好是对图像操作的. |
SDPhotoBrowser | ★1.1k | 仿新浪动感图片浏览器,非常简单易用的图片浏览器,模仿微博图片浏览器动感效果,综合了图片展示和存储等多项功能. |
HZPhotoBrowser | ★736 | 一个类似于新浪微博图片浏览器的框架(支持显示和隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横竖屏显示). |
PhotoBrowser | ★621 | 照片浏览器. |
HeavenMemoirs | ★590 | AR相册 Photo Album For AR. |
LGPhotoBrowser | ★513 | LGPhotoBrowser:相册选择/浏览器/照相机(仿微信),包含三个模块:照片浏览器,相册选择器,照相机. |
StitchingImage | ★467 | 仿微信群组封面拼接控件, 直接拖进项目就可使用,教程. |
KYElegantPhotoGallery | ★430 | 一个优雅的图片浏览库. |
XHImageViewer | ★377 | XHImageViewer is images viewer, zoom image. |
AvatarImageView | ★260 / Y | AvatarImageView是UIImageView的一个可定制的子类,旨在显示用户的个人资料图片。 如果没有提供个人资料图片,则会以随机背景颜色返回到用户的缩写。 |
VIPhotoView | ★224 | 图片浏览,用于展示图片的工具类,因为是个 View,所以你可以放在任何地方显示。支持旋转,双击指定位置放大等. |
FacebookImagePicker | ★217 / Y | 类似Facebook album photo picker 的照片选择器 |
card.io-iOS-SDK | ★217 / Y | OCR光学识别储蓄卡以及信用卡,oc与swift使用教程. |
MarkingMenu | ★216 | 基于手势、类似 Autodesk Maya 风格标记菜单及图片渲染. |
SDECollectionViewAlbumTransition | ★215 / Y | 用自定义的 push 和 pop 实现了有趣的 iOS 相册翻开动画效果. |
SwiftPhotoGallery | ★203 / Y | 一个简单的、全屏显示图片的库,支持缩放、手势、单击关闭、Twitter的关闭风格、Includes a customizable page indicator 等等. |
SXPhotoShow | ★186 | UICollectionViewFlowLayout流水布局 是当下collectionView中常用且普通的布局方式。本代码也写了三种好看的布局,其中LineLayout和流水布局有很大的相同点就直接继承UICollectionViewFlowLayout,然后StackLayout,CircleLayout这两种都是直接继承自最原始的UICollectionViewLayout 布局方案. |
CocoaPicker | ★180 | 仿QQ图片选择器(OC). |
ZZPhotoKit | ★147 | 基于Photos和AVFoundation框架开源,相册多选与相机连拍. |
YUGPUImageHighPassSkinSmoothing | ★130 | 一个基于 GPUImage 的磨皮滤镜. |
BeautyHour | ★127 | 完整应用,功能与“美图秀秀”雷同. |
PictureWatermark | ★90 | 主要实现了给图片加文字以及图片水印的功能,已封装成了UIImage的类别,方便使用. |
SGPhotoBrowser | ★83 | 图片浏览. |
WSImagePicker | ★56 | 高性能多选图片库,类似于微信发布朋友圈中 ‘获取相册及拍照’模块. |
LLPhotoBrowser | ★42 / Y | Swift3图片浏览库,支持网络图,本地图,UIImage同时使用,支持识别二维码,支持横屏看图,支持长按弹出功能窗口 |
PhotoStackView-Swift | ★30 / Y | PhotoStackView——照片叠放视图,使用说明。 |
FLAnimatedImage | ★13 | gif播放处理的工具。 |
AGImagePickerController | 是一个图片选择器,支持图片多选,支持大图横滑预览,支持放大预览,支持横竖屏,支持所有的iOS设备。 | |
DouBanMeinv.swift | / Y | 抓取豆瓣美女图片,瀑布流显示。 |
地址 | Stars/Siwft | 简介 |
---|---|---|
DKImagePickerController | ★1.3k / Y | 相册选取 |
MediaBrowser | ★523 / Y | — 照片/视频浏览器,支持UIImage对象、PHAsset对象、资源库URL、网络图像/视频、本地文件 |
图像缓存
地址 | Stars/Siwft | 简介 |
---|---|---|
SDWebImage | ★22.7k | 非常优秀的图像缓存库. |
YYWebImage | ★3.5k | 一个图片加载库 YYWebImage,支持 APNG、WebP、GIF 播放,支持渐进式图片加载,更高性能的缓存,更多图像处理方法,可以替代 SDWebImage 等开源库,相关文章. |
ImageViewer | ★2.3k / Y | 类似Twitter的图片查看器. |
LKImageKit | ★2k | Tencent:A high-performance image framework, including a series of capabilities such as image views, image downloader, memory caches, disk caches, image decoders and image processors. |
Concorde | ★1.4k / Y | swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。 |
EGOCache | ★1.3k | 十分知名的第三方缓存类库,可以缓存NSString、UIImage、NSImage以及NSData。除此,如果还可以缓存任何一个实现了 |
UIActivityIndicator-for-SDWebImage | ★841 | 为SDWebImage显示加载效果. |
MapleBacon | ★271 / Y | 一个图片下载、缓存库 |
图像滤镜
地址 | Stars/Siwft | 简介 |
---|---|---|
XBImageFilters | ★625 | 图像滤镜. |
CoreImageShop | ★413 | CoreImageShop图片滤镜处理-- Mac app that let you create a complete Core Image Filter usable on iOS using SCRecorder。 |
图像识别/人脸识别
地址 | Stars/Siwft | 简介 |
---|---|---|
libfacedetection | ★9.5k | C++ 人脸识别 包含正面和多视角人脸检测两个算法.优点:速度快(OpenCV haar+adaboost的2-3倍), 准确度高 (FDDB非公开类评测排名第二),能估计人脸角度. |
ZQCNN | ★1.9k | 一款比mini-caffe更快的Forward库,觉得好用请点星啊,400星公布快速人脸检测模型,500星公布106点landmark,600星公布人头检测模型,700星公布人脸检测套餐(六种pnet,两种rnet随意混合使用满足各种速度/精度要求),800星公布更准的106点模型. |
IDCardRecognition | ★1.5k | 中国大陆第二代身份证识别,自动读出身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取身份证照片 Edit |
AiyaEffectsIOS | ★566 | 宝宝特效 SDK IOS Demo,支持美颜,3D特效,3D动画特效,2D特效等,免费使用 visual effects IOS demo, support 3D effect, 3D Animation, 2D effect for FREE http://www.bbtexiao.com/. |
AAFaceDetection | ★514 / Y | AAFaceDetection--swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。 |
YLFaceuDemo | ★267 | 在直播应用中添加Faceu贴纸效果。Faceu贴纸效果其实就是在人脸上贴一些图片,同时这些图片是跟随着人脸的位置改变的。说明. |
SSIDCard | ★255 | iOS中国二代身份证号扫描识别. |
CartoonEyes.swift | ★151 / Y | 前置摄像头捕获图像后,采用 Core Image 脸部识别 CIDetector 和漫画效果滤镜复合出卡通效果眼睛。 |
图像圆角
地址 | Stars/Siwft | 简介 |
---|---|---|
ZYCornerRadius | ★1.4k | 赞 一句代码,圆角风雨无阻。 |
图像截屏
地址 | Stars/Siwft | 简介 |
---|---|---|
SDScreenshotCapture | ★417 | 一个工具类,用于捕获不包括 iOS 状态栏的应用程序窗口的屏幕截图. |
PPSnapshotKit | ★86 | 在包括 UIWebView 和 WKWebView 的网页中进行长截图. |
扫描/二维码/扫码/OCR
- QR Code Scanner - 二维码识别
- ZBar bar code reader - 开一个开源条码阅读器
- 原生实现扫描二维码条码 - iOS原生实现扫描二维码条码.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftOCR | ★4.2k / Y | 一个基于 Swift 的 简单快速 ORC 框架。 |
EFQRCode | ★3.6k / Y | iOS 花式二维码生成库. |
EFQRCode | ★3.6k / Y | 一个使用 Swift 操作二维码更好方案,可以开发艺术二维码。 |
LBXScan | ★2.9k / Y | 👍 A barcode and qr code scanner (二维码、扫码、扫一扫、ZXing和ios系统自带扫码封装,扫码界面效果封装)(Objective-C和Swift均支持). |
LBXScan | ★2.9k / Y | ZXing和ios自带扫码封装,界面效果封装 |
NSFWDetector | ★1.3k | 基于 CoreML 的 NSFW (也可以说是色情图片) 图片检测器 |
ChineseIDCardOCR | ★1k / Y | 利用前馈神经网络对中文身份证信息做 OCR 识别。 |
QRCode | ★680 / Y | 基于 Swift 的二维码生成器。 |
MQRCodeReaderViewController | ★378 | 二维码扫描控件. |
QRCatcher | ★281 | 一个简洁美观的二维码扫描应用, [iOS学习:AVFoundation 视频流处理--二维码]. |
Screenotate | ★242 | 支持 OCR 文字识别的载屏笔记 Mac 完整应用. |
QRWeiXinDemo | ★228 | 仿微信二维码扫描,中间透明区域. |
HMQRCodeScanner | ★205 | 包含 UI 界面的轻量级二维码扫描及生成框架,提供一个导航控制器,扫描 二维码 / 条形码;能够生成指定 字符串 + avatar(可选) 的二维码名片;能够识别相册图片中的二维码(iOS 64 位设备). |
ZFScan | ★140 / Y | 仿微信 二维码/条形码 扫描. |
QR-Blank | ★32 | 一个开源的二维码扫码应用 |
ZXingObjC | ★29 | 👍 An Objective-C Port of ZXing. |
ZXingObjC | ★29 | 二维码生成和识别库 |
betcalsa | ★28 | 文档扫描仪,可自动检测文档并使用黑白滤镜增强扫描效果 |
QRGen | ★1 | 另外一个扫码应用,可以读取、生成二维码。 |
PDF 相关教程
PDF 开源框架
- PSPDFKit - PDF相关的一系列功能,包括呈现PDF,添加/编辑批注,填写表单,添加/编辑页面,查看/创建数字签名。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Reader | ★4.2k / Y | 一个 iOS PDF 阅读器内核 |
FolioReaderKit | ★2.2k / Y | 一个iOS ePub 读取和解析框架,基于 Swift. |
FastPdfKit | ★1.2k | 一个嵌入在iOS应用程序中静态库,用以显示从 Fast PDF 派生的pdf文档。 |
PDFGenerator | ★571 / Y | 一个使用 Swift 实现的简单 PDF 生成器,可以从视图或者图片生成PDF。 |
TPPDF | ★361 / Y | 使用命令和自动布局生成PDF。 |
SimplePDF | ★198 / Y | 轻松创建一个简单的PDF文件。 |
PDFXKit | ★180 | 由 PSPDFKit 框架提供技术,Apple PDFKit 的直接替代产品。 |
UIView 2 PDF | ★34 / Y | 使用 UIViews (或配合着 XIB)的 PDF 生成器。 |
UIImagePlusPDF | ★32 | 仅使用PDF文件的 UIImage 扩展。 |
SwiftPDFGenerator | ★13 / Y | 通过 UIViews 生成 PDF ,是 'UIView 2 PDF' 的 Swift 版本. |
桥接
桥接相关文章
- 《iOS-JavaScriptCore》 - 基于 Objective-C
- 《Swift 与 JavaScript 的交互(通过 JavaScriptCore)》
- 《iOS开发 - Swift使用JavaScriptCore与JS交互》
桥接相关框架及工具
- 实现在 Objective-C 和 Swift、iOS和 macOS、Javascript 和 Objective-C 之间共享代码 *
- RubyMotion - RubyMotion 是一个革命性的工具链,它允许您快速开发和测试 iPhone、iPad 和 Mac 的本地 iOS 和 macOS 应用程序,所有这些程序都使用 Ruby 语言。
- Xamarin - Xamarin是一个免费的、跨平台的、开源的平台,允许您快速开发和测试iPhone、iPad、Watch和Mac的原生iOS、watchOS和macOS应用程序,所有这些程序都使用 C# 语言。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
WebViewJavascriptBridge | ★13.2k | 一个 iOS/macOS 桥接库,用于在 Obj-C 在 JavaScript 之间且通过 UIWebViews/WebViews 发送消息。 |
JSPatch | ★11.1k | JSPatch 使用 Objective-C runtime 桥接 Objective-C 和 Javascript。你可以仅仅通过一个"小"引擎就能通过js代码调用任何 Objective-C 的类和方法。JSPatch通常用于hotfix(一种热加载的方式) iOS 应用程序。使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug。 |
MAIKit | ★140 | 一个在iOS和macOS之间共享代码的框架。 |
授权、权限
授权、权限相关教程
- 《iOS - 权限配置》
- 《iOS 系统权限》
- 《IOS 各类获取授权常用处理》
- iOS系统的授权逻辑 - 偏产品维度的思考
授权、权限开源框架
- Oauth 、 Oauth2 、社交媒体账号授权以及验证码工具等等.*
地址 | Stars/Siwft | 简介 |
---|---|---|
PermissionScope | ★4.9k / Y | 智能的 iOS 授权 UI 和 统一的 API(支持位置、通知、照片、联系人、日历、照片、麦克风、BT、进度指示、HealthKit 和 CloudKit),用这个库可以在询问用户前,就告知用户所需的系统权限,为用户带来更好的体验。接受度更高—>更多活跃用户->更高的留存率->数据更好->下载率更高。 |
SPPermissions | ★3.9k / Y | 基于 Swift 实现的请求权限,包括可用列表,对话框和原生界面,还可以检查状态权限。 |
Permission | ★2.7k / Y | 一套请求iOS权限的统一API |
OAuthSwift | ★2.6k / Y | 基于Swift的iOS OAuth库。 |
SimpleAuth | ★1.2k | 一个简单的社交媒体账号授权库。 |
ClusterPrePermissions | ★1.2k | 可重用的预授权工具,开发人员可以在发出基于系统的请求之前,要求用户在其自己的对话框中进行访问。 |
AREK | ★943 / Y | AREK 是一个 iOS 上各种权限的封装,简洁易用。 |
OAuth2 | ★924 / Y | 面向macOS和iOS的OAuth2框架,用Swift编写。 |
Proposer | ★836 / Y | 简化权限申请动作(支持相机,照片,麦克风,联系人,位置)。 |
PAPermissions | ★701 | 在 iOS 上请求权限的统一 API。 |
Simplicity | ★676 | 在你的iOS 或 macOS应用程序中实现Facebook和Google登录的简单方法。 |
STLocationRequest | ★635 / Y | 一个简单优雅的3D悬停位置请求组件,基于 Swift。 |
ISHPermissionKit | ★599 | 一种 iOS 应用程序请求用户权限的统一方式。 |
Heimdallr.swift | ★579 / Y | 易于使用的OAuth2 库,用Swift编写 |
SwiftyOAuth | ★474 / Y | 一个简单的iOS OAuth库,并内建了一些简单的服务商功能实现。 |
JLPermissions | ★414 | iOS 预授权工具,开发者用它来制作询问用户是否授权的对话框,支持日历、联系人、位置、照片、备忘录、twitter、推送通知和其他需要授权的操作。 |
AuthenticationViewController | ★257 | 一个简单易用的标准接口,用于通过SFSafariViewController对oauth 2.0保护的端点进行身份验证。 |
ReCaptcha | ★177 / Y | ReCaptcha 验证码 |
VWWPermissionKit | ★142 | 可视化的 iOS 授权管理器。 |
ICanHas | ★92 | 简化 iOS 用户权限请求(支持位置、推送通知、相机、联系人、日历、照片)。 |
InstagramSimpleOAuth | ★91 | 在你的iPhone或iPad应用程序中验证Instagram用户的快速简单方法。 |
AlamofireOauth2 | ★79 / Y | OAuth2 的 Swift实现。 |
OhMyAuth | ★62 | 支持多种服务的简单OAuth2库。 |
InstagramLogin | ★57 / Y | 一种在iOS上验证Instagram帐户的简单方法。 |
DropboxSimpleOAuth | ★44 | 一种快速简单的方法来验证你的iPhone或iPad应用程序中的Dropbox用户。 |
InstagramAuthViewController | ★38 | 一个用于 Instagram 登录的 ViewController. |
LinkedInSignIn | ★31 / Y | 从 LinkedIn 登录和检索访问令牌的简单视图控制器。 |
BoxSimpleOAuth | ★16 | 在你的iPhone或iPad应用程序中验证Box用户的一种快速而简单的方法。 |
AR/ARKit
ARKit 学习资源
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
ARStarter | ★452 | ARKit入门 - 面向初学者的教程。 |
Amazing-ARkit | ★187 | ARKit相关的资料和工程文件, 包括:教程文章、开源代码、ARKit 应用、AR小视频。 |
AR/ARKit 开源工具、框架
一些用于增强现实的库和工具
地址 | Stars/Siwft | 简介 |
---|---|---|
ARKit-CoreLocation | ★4.8k / Y | 将AR的高精度与GPS数据的比例尺结合起来。 |
AR-Source | ★1.3k | AR开发资料汇总. |
ARuler | ★1.2k / Y | 使用 apple ARKit 测量距离。 |
ARKit-Sampler | ★1.2k / Y | ARKit 的代码示例,适合学习。 |
ARVideoKit | ★1.2k / Y | 录制和捕获ARKit视频、照片、实时照片和GIF |
ARShooter | ★786 / Y | 一个使用 ARKit 在Swift(iOS 11)中制作的演示增强现实射击游戏。 |
ARCharts | ★670 / Y | 一个可爱的 iOS 增强现实图表 - 用ARKit构建。 |
SmileToUnlock | ★604 / Y | 使用ARKit人脸跟踪来捕捉用户微笑的库。 |
Findme | ★478 / Y | 一个可以帮助你的朋友找到你的 ARKit 应用程序。 |
ARKit Emperor | ★438 | ARKit 的例子。 |
Measure | ★351 / Y | 用ARKit计算现实世界物体的距离。 |
Virtual Objects | ★267 | 在增强现实中放置虚拟对象 |
arkit-smb-homage | ★239 / Y | 在增强现实中用 ARKit 和 SceneKit 实现的超级玛丽游戏。 |
TGLAugmentedRealityView | ★129 | 让增强现实变得简单 —— 在相机预览上放置覆盖层,并根据设备姿态调整其位置。 |
ARKitEnvironmentMapper | ★82 | 允许您使用camera feed和ARKit的跟踪功能实时生成和更新环境地图的库 |
Placenote | ★76 | 使用高级计算机视觉将ARKit会话持久化到某个位置的库。 |
Poly | ★59 / Y | 非 Google 官方的几何图形 SDK – 用于搜索和显示三维模型 |
ARImageViewer | ★7 | 一款基于ARKit的AR图片查看器. |
ARKit 其他资源列表
地址 | Stars/Siwft | 简介 |
---|---|---|
Awesome-ARKit | ★6.3k / Y | ARKit 相关资源列表,涵盖教程、应用和资源。 |
Awesome-iOS-ARKit | ★44 | 一些 ARKit 的使用案例及代码。 |
Awesome ARKit | 一份精选的 ARKit 项目和资源列表 |
VR、虚拟现实
地址 | Stars/Siwft | 简介 |
---|---|---|
360 VR Player | ★1.9k | 一个开源、无广告的 360度原生全景视频播放器。 |
BSPanoramaView | ★393 / Y | 超轻量级的 iOS 全景图组件. |
VRDemo-Swift | ★164 / Y | VRDemo是用Swift配合OpenGL ES实现的360度全景播放器 |
simple360player | ★145 | 免费、无广告 360 虚拟现实视频播放器。 |
swift-360-videos | ★117 / Y | 360度视频播放器,以swift3编写的iOS - SceneKit的一个子集. Pure swift (no SceneKit) 3D library with focus on video and 360. |
Swifty360Player | ★91 / Y | 使用 Swift 从 AVPlayer 进行流媒体播放的 iOS 360 度视频播放器。 |
VR Toolkit iOS | ★83 | 是一个示例项目,提供了在iOS上创建交互式虚拟现实体验,适合学习 iOS VR 的基础知识。 |
硬件相关
摄像头/相机/拍照
相关教程
相关框架
包括:Mock,ImagePickers(图片选择器),以及更多可定制的摄像头功能的实现。
地址 | Stars/Siwft | 简介 |
---|---|---|
SCRecorder | ★3k | 类似 Vine 的点击拍摄,动画过滤器,慢镜头,片段编辑相机引擎,支持短视频录制。 |
YPImagePicker | ★2.8k / Y | 类似 Instagram 的图像选择器和滤镜 |
Fusuma | ★2.4k / Y | 类似Instagram的照片浏览器和相机功能,配置简单,只需几行代码就可完成配置,基于 Swift |
ALCameraViewController | ★2k / Y | 具有自定义图像选择器和图像裁剪功能的相机视图控制器,基于 Swift 。 |
PBJVision | ★1.9k | iOS摄像头引擎,具有触摸录制视频,慢动作视频和照片捕捉功能。 |
FastttCamera | ★1.8k | 适用于iOS的Fasttt简易相机框架,带有可自定义的滤镜。 |
SwiftyCam | ★1.7k / Y | 用Swift编写iOS相机框架,主要受到 Snapchat 启发式。 |
NextLevel | ★1.7k / Y | 下一代 iOS 媒体捕获相机库。 |
TGCameraViewController | ★1.4k | 基于 AVFoundation的 自定义摄像机。 美观,轻巧且易于与iOS项目集成。 |
BarcodeScanner | ★1.4k / Y | 简单美观的条形码扫描仪。 |
Cool-iOS-Camera | ★1.3k | 使用 AVFoundation 实现的高度可定制相机程序。 |
DBCamera | ★1.3k | DBCamera is a simple custom camera with AVFoundation. |
LLSimpleCamera | ★1.2k | 一个简单的,可自定义的相机控件 - 适用于iOS录像。 |
CameraManager | ★1k / Y | 一个简单的Swift类,提供在应用程序中创建自定义相机视图所需的所有配置 |
iOS-Depth-Sampler | ★791 | 一组 Depth API 的使用例子 |
Lumina | ★749 | 全方位的相机功能库,包括 拍照,视频,流帧,检测元数据 和 基于CoreML的流预测。 |
RSBarcodes_Swift | ★639 / Y | 适用于iOS8 条形码和二维码读取器和生成器,带有令人愉悦的控件。基于 Swift. |
ZPCamera | ★562 | An OpenSource Camera App. |
CameraEngine | ★548 / Y | 一个iOS相机引擎,基于 AVFoundation之上,使用Swift编写。 |
CameraKit-iOS | ★501 / Y | 可以大幅提高相机性能,可能是您的下一个iOS项目的选择 |
TLStoryCamera | ★361 / Y | 仿照instagramStory & WeiBoStory。可以在拍摄视频后贴图,贴字,涂鸦。 |
FDTake | ★300 | 让你轻松拍摄照片或视频,或从图库中选择。 |
MARFaceBeauty | ★234 | 一款类似于FaceU的美颜相机,支持大部分基础功能:美颜,对焦,前后摄像头转换,过场动画... |
HeartBeatsPlugin | ★222 | 手机摄像头测心率 带心率折线图和返回瞬时心率. |
HorizonSDK-iOS | ★173 | 最先进、能实时视频录制/照片拍摄iOS库。 |
HybridCamera | ★115 | 类似于SnapChat相机。 |
DKCamera | ★74 / Y | 适用于iOS的轻巧简单的相机框架,基于 Swift。 |
SkfSwiftCammer | ★59 / Y | 一个相机demo,在oc里面调用了swift。 |
CameraBackground | ★54 / Y | 可以将相机图层显示为任何UIView的背景。 |
TakeASelfie | ★20 | 使用前置摄像头的iOS框架,可检测人脸。 |
RAImagePicker | ★13 | RAImagePicker是一个面向协议的框架,通过内置的Image Picker Edit提供自定义功能。 |
MockImagePicker | ★11 | 模拟 UIImagePickerController 用于在模拟器中测试相机。 testing camera based UI in simulator. |
定位/地理位置
相关教程
相关框架
位置监测、运动检测和地理围栏的相关库
- LocationKit - 高级位置 SDK - 只使用很少的电量和上下文相关的位置信息就可以提供高精确度的位置数据。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftLocation | ★2.7k / Y | 基于 Swift 的位置和信标监控。 |
LocationManager | ★2.5k | 提供一个基于块的异步 API 来请求当前位置,可以是一次请求,也可以是连续请求。 |
SOMotionDetector | ★1.1k | 一个检测运动的简单类库,基于位置更新和加速速。 |
set-simulator-location | ★460 | 用于在iOS模拟器中设置位置的 CLI 工具 |
LocationPicker | ★372 | 一个开箱即用的,且高可定制的位置选择器。 |
BBLocationManager | ★106 | 一个位置管理器,用于在iOS中轻松实现位置服务和地理围栏。 |
IngeoSDK | ★96 | 一个 iOS 始终在线的位置监听框架. |
NominatimKit | ★50 / Y | OpenStreetMap 地理编码的 Swift 封装。 |
电池
相关教程
相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
DeviceKit | ★3k / Y | DeviceKit 是 UIDevice 的值类型替换。轻松获取设备信息和电池电量. |
蓝牙
蓝牙相关教程
蓝牙相关框架
地址 | Stars/Siwft | 简介 |
---|---|---|
BabyBluetooth | ★4.3k / Y | 在iOS / MacOS中使用蓝牙(BLE)的最简单方法。 |
BluetoothKit | ★1.9k / Y | 在iOS / macOS 设备之间轻松实现蓝牙通信。 |
Bluejay | ★832 / Y | 一个简单的Swift框架,用于构建可靠的Bluetooth LE应用程序。 |
PeerKit | ★820 / Y | 一个开源的Swift框架,用于构建事件驱动的,零配置的 Multipeer 连接应用程序框架 |
BlueCap | ★632 / Y | iOS 蓝牙 LE 框架. |
Bleu | ★475 | BLE (Bluetooth LE) . |
Discovery | ★407 | 一个非常简单的库,用于发现和检索附近设备中的数据 (即使对方应用在后台运行). |
LGBluetooth | ★165 | 基于 CoreBluetooth 简单,轻量级库,让您的 Core Bluetooth 相关代码更简洁。 |
Bluetonium | ★155 / Y | 一个蓝牙匹配库,基于Swift. |
MultiPeer | ★151 / Y | Multipeer是Apple的MultipeerConnectivity框架的包装程序,用于在Apple设备之间进行脱机数据传输。 它可以轻松自动连接到附近的多个设备,并使用蓝牙或wifi共享信息。 |
BerkananSDK | ★138 | Mesh消息传递SDK,其目标是通过人们的设备的蓝牙天线为人们创建一个分散的网状网络。 |
simple-share | ★131 | 一个基于蓝牙 LE 共享的框架,易于实现附近设备的连接。 |
ExtendaBLE | ★87 | 适用于iOS / tvOS / watchOS / OSX / Android的简单基于块的BLE客户端。能快速配置中央/外围设备,执行基于数据包的读/写操作以及用于特性更新的回调。 |
AZPeerToPeerConnection | ★60 | AZPeerToPeerConnectivity是Apple iOS Multipeer Connectivity框架之上的封装, 它提供了一种创建和管理会话的简便方法,且易于集成。 |
Apple Family | ★53 | 一个快速将Apple设备与蓝牙,wifi和USB连接在一起的工具。 |
PeerConnectivity | ★46 | Apple的MultipeerConnectivity框架的函数式包装。 |
iBeacon - 信标/近场感应
iBeacon 相关教程
iBeacon 相关框架
- 设备发现库以及一些 iBeacon 工具 *
- MOCA Proximity - 付费近距离营销平台,让您给应用程序添加更多近距离体验。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
BeaconEmitter | ★888 | 将Mac变成iBeacon。 |
Vicinity | ★380 | Vicinity 可以复制 iBeacons (通过分析 RSSI) ,并支持在后台广播及检测低能耗蓝牙设备。 |
OWUProximityManager | ★360 | iBeacons + CoreBluetooth. |
JMCBeaconManager | ★139 | 一个iBeacon管理器类,负责检测附近的信标。 |
Proxitee | ★15 | 允许开发人员使用 iBeacons 和地理围栏创建近场感知应用程序 |
3D 触摸/Force Touch/3DTouch
相关教程
相关教程
地址 | Stars/Siwft | 简介 |
---|---|---|
QuickActions | ★233 / Y | 主屏幕快速操作(应用程序图标快捷方式)的 Swift 封装 。 |
InceptionTouch.swift | ★200 / Y | 让没有 3D Touch 设备也有类似交互体验的 InceptionTouch 类(基于 UITextView 实现,支持日期,链接,电话号码,地址触摸响应)。 |
PeekView | ★125 | PeekView 为那些不支持3D-Touch设备商,提供 peek, pop 以及 preview 操作的功能。 |
3DTouchSample | ★72 | 3D-Touch的功能分为两个部分:Shortcut和Preview. |
JustPeek | ★69 | JustPeek 为那些没有 3D-Touch 的设备提供 Peek 和 Pop 这样的交互操作。 |
3DTouchDemo | ★51 | 详细介绍了每个参数的含义和3Dtouch的入口,保证包学包会. |
其他硬件相关的库
地址 | Stars/Siwft | 简介 |
---|---|---|
DeviceKit | ★3k / Y | DeviceKit 是 UIDevice 的一个替代品. |
peertalk | ★2.8k | peertalk 是一个支持 iOS 与 Mac 通过 USB 相互通讯的开源库。 Duet Display 基于此实现了将 Mac 界面呈现到 iOS 设备上。 |
Device | ★1.3k / Y | 一个用来检测当前屏幕尺寸的库,基于 swift. |
SDVersion | ★1.3k | 轻量级Cocoa库,用于检测正在运行的设备的型号和屏幕大小。 |
MotionKit | ★1.1k | 让 CoreMotion 的使用变得非常简单,只需几行代码就可以从从加速器、陀螺仪和磁强计得到数据。 |
Haptico | ★393 | 支持触觉反馈生成器。 |
NFCPassportReader | ★384 / Y | 一个 Swift 库,用于读取启用NFC的身份数据。支持BAC、安全消息传递以及主动和被动身份验证。需要iOS 13或更高版本。 |
UIDeviceComplete | ★335 / Y | 是一个 UIDevice 扩展,用来弥补一些必要功能. |
Luminous | ★278 / Y | Luminous 可以给出当前这设备的很多信息,超过50项。 |
DarkLightning | ★261 | 在iOS/tvOS和macOS之间传输数据的最简单快捷的方式。 |
TapticEngine | ★242 | TapticEngine 可以控制 iOS 设备的震动. |
Device.swift | ★204 / Y | 一个超级轻量的设备检测框架。 |
WatchShaker | ★175 / Y | WatchShaker 用来在 watchOS 检测手表的震动事件,基于 swift. |
Deviice | ★32 / Y | 用来检测运行中应用程序的设备(包括一些属性)一个简单库。 |
WatchCon | ★30 | WatchCon是一个可以在iOS和 WatchOS 之间创建简单连接的工具。 |
NFCNDEFParse | ★12 | 用于在 iOS11 和 Core NFC 的数据解析,在 NFC 论坛中比较有名. |
卡包/Passbook/钱包
- Passkit - 设计、创建和验证存折通行证。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Dubai | ★330 | 生成和预览卡包中的通行证。 |
passbook | ★224 | Passbook gem 可以为 Passbook iOS 6+ 创建 pkpass 文件。 |
Payments/支付
支付相关教程
支付宝:
微信支付:
支付相关在线服务
支付/内购相关开源框架、工具、SDK
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftyStoreKit | ★4.8k / Y | 一个轻量级应用内支付的 Swift 框架,适用于 iOS 8.0+ 和 macOS 9.0+ |
RMStore | ★2.3k | 一个轻量级 iOS 应用内支付库. |
card.io-iOS-SDK | ★2.3k | card.io 提供快速简单的信用卡扫描功能 |
IAPHelper | ★1.4k | 应用内付费给我们提供了很多样本代码,而这个库丢掉了那些代码,将金钱交易相关的大多通用任务做了简单的封装。 |
CreditCardForm-iOS | ★1.4k / Y | CreditCardForm 可以帮助开发者创建自定义的信用卡 UI。 |
PayPal | ★973 | 可以通过 PayPal 在您的 iOS 应用中收款 |
merchantkit | ★902 / Y | 一个现代的 iOS 应用内购买管理框架。 |
Caishen | ★741 / Y | iOS的支付卡用户界面和验证程序。 |
TAPromotee | ★608 | 交叉推广应用是你可以免费实现的最佳市场推广策略之一。使用这个库做起来非常简单,不用都不可能——将TAPromotee加入你的podfile中,免费配置与享受更多下载吧。 |
DAAppsViewController | ★480 | 应用推广界面,填写合作app的appleId即可 |
PatronKit | ★371 | 一个向您的应用程序增加赞助的框架。 |
MFCard | ★345 / Y | 可以轻松将信用卡付款集成到 iOS App中, 还可以自定义信用卡的 UI。 |
iCard | ★318 / Y | 基于 SnapKit DSL 的 Swift银行卡生成器。 |
TPInAppReceipt | ★173 | 读取并验证 APP Store 的凭证。 |
YRPayment | ★166 / Y | 一个有更好的支付用户体验库,有比较炫酷的额动画,基于 Swift。 |
IAPDemo | ★156 | 应用内支付IAP全部流程, 教程. |
Venmo | ★155 | Make and accept payments in your iOS app via Venmo. |
SwiftLuhn | ★132 / Y | 基于 Luhn 算法的信用卡/借记卡 Debit/Credit 验证端口,用 Swift 实现。 |
ObjectiveLuhn | ★124 | Luhn 信用卡验证算法. |
monza | ★124 | Ruby Gem for Rails - 一个轻松实现iTunes应用内购买的收据验证工具,包括自动续订的订阅。 |
TipJarViewController | ★68 | 一个易用的 Tips 工具。 |
InAppFramework | ★40 | 一个应用支付的管理框架,适用于 iOS. |
SwiftInAppPurchase | ★21 / Y | 一个简单的应用内支付的代码,基于 Swift 框架。 |
FramesIos | ★17 / Y | 付款表单表单 UI 以及工具,基于 Swift。 |
三方分享、支付、登录等等
地址 | Stars/Siwft | 简介 |
---|---|---|
openshare | ★3.6k | 不用官方SDK,利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付. |
WechatPayDemo | ★417 | 非官方微信支付 iOS demo. |
RCIM | ★250 | 融云SDK集成即时通讯。单聊,群聊,讨论组,自定义cell,自定义消息等. |
RongCloud-SDK-description | ★186 | 介绍融云SDK即时通讯机制和集成步骤,由于国内CSDN博客封杀带有广告性质的文章(其实不是打广告,纯粹的技术分享),所以只能在Github发表了。希望大家支持我,谢谢。Demo地址:https://github.com/zhengwenming/RCIM . |
HXEasyCustomShareView | ★147 | 轻松集成分享界面UI. |
ShareView | ★7 | 一个xib做的分享UI. |
区块链
用于智能合约交互的工具,比特币协议实现和与加密货币交互的框架
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-blockchain | ★14.8k | 收集所有区块链(BlockChain)技术开发相关资料,包括Fabric和Ethereum开发资料. |
开源库组件
地址 | Stars/Siwft | 简介 |
---|---|---|
BitcoinKit | ★697 / Y | 用于Swift的比特币协议工具包,比特币工具包在Swift中实现比特币协议。它是比特币SPV协议的一个实现,该协议几乎完全是用swift编写的。 |
web3swift | ★454 / Y | 在Swift中优雅使用Web3js功能,以及本地ABI解析和智能合约交互。 |
EthereumKit | ★396 / Y | EthereumKit是一个免费的、开源的Swift框架,可以方便地与Ethereum进行交互。 |
Web3.swift | ★260 / Y | 用于与以太坊区块链交互的Web3库。 |
Bitcoin-Swift-Kit | ★99 / Y | 完整的比特币库,基于Swift。比特币、比特币现金和Dash区块链的完整SPV钱包实现。 |
EtherWalletKit | ★86 / Y | 用于iOS的以太坊钱包工具包-您可以在不了解服务器和区块链的情况下实现以太坊钱包。 |
CoinpaprikaAPI | ★19 / Y | Coinpaprika API客户端,提供来自加密世界的免费和频繁更新的市场数据:硬币价格、数量、市值、ATH、回报率等。 |
游戏相关
主流游戏框架
开源工具:
地址 | Stars/Siwft | 简介 |
---|---|---|
Retro | ★11.6k | 适用于 macOS 的复古视频游戏。 |
FlappySwift | ★9.1k / Y | flappy bird 的 Swift 实现。 |
cocos2d-objc | ★4.1k | 使用 Objective-C 构建 的面向 iOS 和 OSX平台的 Cocos2d。 |
Urho3D | ★3.2k | 一个免费的轻量级,跨平台的2D和3D游戏引擎,以 C++ 实现。 |
SaveTheDot | ★773 / Y | 使用 UIViewPropertyAnimator 开发的游戏。 |
Legend-Wings | ★458 / Y | 一个 iOS Swift 游戏 - 将 SpriteKit 应用到极限。 |
VirtualGameController | ★415 / Y | 基于软件的游戏控制器,用于iOS、tvOS、OSX和Swift 4中的watchOS。 |
Sage | ★356 / Y | 一个跨平台的国际象棋库,Swift. |
TouchBreakout | ★313 / Y | 使用 SpriteKit 在触摸屏上玩 Breakout 游戏。 |
glide engine | ★294 / Y | 基于 SpriteKit 和 GameplayKit 的 2d 游戏疫情, 包含很多例子和教程. |
SKTiled | ★195 / Y | 用于在SpriteKit中使用 Tiled assets 的Swift框架。 |
Metal入门资料 | ★121 | Metal入门资料,涉及到iOS平台,OSX平台,TvOS平台。 |
CollectionNode | ★95 / Y | SpriteKit 中针对 collectionView 的 Swift框架。 |
ShogibanKit | ★54 / Y | ShogibanKit 是一个实现日本象棋(将棋)框架,基于 Swift,没有UI和AI。 |
AssetImportKit | ★50 / Y | Swifty 跨平台库(macOS,iOS),可将支持Assimp的模型转换为SceneKit场景。 |
函数式、响应式编程
相关概念、教程
相关框架
一组Swift函数式编程工具
地址 | Stars/Siwft | 简介 |
---|---|---|
Argo | ★3.5k / Y | 函数式Json解析库,Swift. |
Swiftz | ★3.3k / Y | Swift 函数式编程。 |
Runes | ★807 / Y | Swift中单子函数的中缀运算符。 |
LlamaKit | ★623 / Y | 一些必备的 Swift 函数式工具。 |
Bow | ★440 / Y | Swift的类型化函数式编程伴侣库。 |
Prelude | ★399 / Y | 一个 Swift 简单的函数式编程工具,也是微型框架。 |
Swiftx | ★222 / Y | Swift 函数式数据类型。 |
OptionalExtensions | ★180 / Y | Swift 针对 Optional 类型的微型框架扩展 |
Forbind | ★45 / Y | 包括 promises 和 chaining 的函数式编程框架 ,Swift. |
Funky | ★12 / Y | 函数编程工具, Swift. |
Oriole | ★11 / Y | 通过Swift协议扩展实现的工具带。 |
响应式编程框架
使用响应式编程框架统一对委托、回调 blocks 、通知 、控件的事件 、KVO 等异步事件的逻辑处理。可以显著的降低代码复杂度,更有效的传达代码意图。任何一个优秀的 iOS 程序员都不会拒绝响应式编程,唯一的缺点可能就是对智商有要求了。
地址 | Stars/Siwft | 简介 |
---|---|---|
ReactiveCocoa | ★19.8k / Y | 随着时间流逝 value 数据流(简称为RAC)。由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。在iOS开发过程中,经常会响应某些事件来处理某些业务逻辑,例如按钮的点击,上下拉刷新,网络请求,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action、delegate、KVO、callback等。其实这些事件,都可以通过RAC处理,ReactiveCocoa为事件提供了很多处理方法,而且利用RAC处理事件很方便,可以把要处理的事情,和监听的事情的代码放在一起,这样非常方便我们管理,就不需要跳到对应的方法里。非常符合我们开发中高聚合,低耦合的思想。 |
RxSwift | ★18.5k / Y | 基于 Swift 的响应式编程框架。推出时间较晚,其思路与 ReactiveCocoa 相近,它们的共同祖先是微软的 ReactiveExtensions,本质核心就是面向数据流编程 |
KVOController | ★7.2k | 是一个简单安全的 KVO(Key-value Observing,键-值观察)工具,用于iOS 和OS X 应用开发中,开源自facebook。 在项目中有使用 KVO ,那么 KVOController 绝对是个好选择。 |
ReSwift | ★6.4k / Y | 用于Swift实现的单向数据流 - 灵感来自于 Redux. |
JASONETTE-iOS | ★5.3k | 可以通过远程 JSON 创建应用程序。 |
ReactiveSwift | ★2.6k / Y | 随时间推移的数据流,基于 ReactiveCocoa 组. |
RxAlamofire | ★1.4k / Y | 基于 Swift Alamofire 对 RxSwift 的封装,很是强大。 |
RxCoordinator | ★1.4k | 基于 coordinator 模式的功能强大的导航库。 |
RxKeyboard | ★1.2k / Y | 一个 iOS 响应式键盘。 |
OpenCombine | ★1.2k / Y | — Apple's Combine 的另一个开源实现,用于处理数据流。 |
ReactiveKit | ★1.1k | ReactiveKit 是一组响应式和函数式编程框架的集合。 |
RxBluetoothKit | ★1.1k / Y | RxSwift 的蓝牙库。 |
Interstellar | ★1.1k / Y | Swift实现的,简单轻巧的函数反应式编码。 |
RxGesture | ★969 / Y | RxSwift 针对手势的封装。 |
RxRealm | ★957 / Y | 针对 Realm 集合类型的响应式封装。 |
RxAutomaton | ★699 / Y | RxSwift + 状态机, 其灵感来自于 Redux 和 Elm。 |
RxAnimated | ★597 / Y | RxCocoa 动画绑定. |
Hanson | ★517 / Y | 一个 Swift 轻量级观测工具,支持 KVO 和 NotificationCenter. |
NSObject-Rx | ★467 / Y | 方便的 NSObject RxSwift 扩展,包括rx_disposeBag。 |
SemanticUI | ★391 / Y | Semantic UI 是一套开源的 CSS 与 JavaScript 框架,提供了一些设计好的界面组件,你可以在项目里直接使用这些组件。它还提供了一套很方便的定制主题的方法,你可以用自己的想法去改变界面组件的样式。在这个教程里我们学习一下安装 Semantic UI. |
Observable | ★321 / Y | 在 Swift 中的一个最简单的观测数据值变化的方案。 |
VueFlux | ★308 / Y | 基于Swift实现的的单向数据流状态管理架构 - 主要受到 Vuex 和 Flux 的启发. |
ReactiveAnimation | ★300 / Y | ReactiveCocoa 推出了一个叫 ReactiveAnimation 的子项目,直接用完全用 Swift 来实现了。 |
CwlSignal | ★297 / Y | 一个 Swift 响应式编程框架。 |
ReactiveCoreData | ★266 | ReactiveCoreData (RCD) 将 Core Data 转为 ReactiveCocoa (RAC). |
RxPermission | ★234 / Y | 绑定权限 API 的 RxSwift. |
Reactor | ★174 / Y | 一个 Swift 单项数据流框架,基于 Elm 和 Redux 的启发. |
RxMediaPicker | ★163 / Y | 基于 UIImagePickerController 构建的反应式封装。 |
Snail | ★161 / Y | 基于 Swift 的提供数据可观测能力框架。 |
RxCoreData | ★140 / Y | 针对 Core Data 的 RxSwift 扩展。 |
ReactiveTask | ★131 | 用于处理启动过程的一个灵活的,基于流的抽象框架。 |
RxReduce | ★122 / Y | 用于实现状态容器模式的一个响应式编程方式的轻量级框架。 |
LightweightObservable | ★113 / Y | 一个可订阅的观察序列的轻量级实现。 |
RxMultipeer | ★69 / Y | 基于 MultipeerConnectivity 的可测试的 RxSwift 封装。 |
SimpleApiClient | ★69 / Y | 基于 Alamofire4 和 RxSwift4 的一套可配置 API 的客户端。 |
Aftermath | ★68 / Y | 无状态的基于消息驱动的 Swift 框架。 |
ReactiveArray | ★54 / Y | 使用 Swift实现的数组类,可以使用 ReactiveCocoa 的 Signals 进行监听操作。 |
RxWebSocket | ★52 / Y | Starscream 的响应式扩展,基于 websockets. |
ReduxSwift | ★37 / Y | 一个针对 Swift 应用的可预测状态容器 |
ReactiveLocation | ★22 | 让 CoreLocation 编程响应式的。 |
Bindy | ★22 / Y | 简单、轻量级的swift绑定,支持KVO,语法易于阅读。 |
ACKReactiveExtensions | ★14 | ReactiveCocoa 的一个有用的扩展。 |
BindKit | ★13 | iOS 双向数据绑定框架,但只有一个 API 需要学习。 |
RxAlamoRecord | ★9 / Y | 其结合了AlamoRecord 和 RxSwift 库的有点,其创建了一个网络层,使得与API的交互比以往任何时候都更加容易。 |
RxOptional | ★7 / Y | 一个 针对 optionals 类型 "Occupiable" 类型 RxSwift 扩展,基于 Swift , |
STDevRxExt | ★6 / Y | STDevRxExt 包含一些 RxSwift 和 RxCocoa 的功能扩展, |
Listenable | ★6 / Y | 一个 Swift 对象,其提供了一个观察对象的平台。 |
Swiftest | / Y | BDD 全称 Behavior Driven Development,行为驱动开发。各种 DD 数不胜数,孰优孰劣争论不休,其实归根结底还是要根据使用场景进行选择。 |
React-Like
地址 | Stars/Siwft | 简介 |
---|---|---|
Render | ★2.1k / Y | CoreRender是一个受SwiftUI启发的UIKit API(与iOS 10+和ObjC兼容)。 |
Katana | ★2k / Y | 一个现代的iOS应用程序构建框架,灵感来自Redux。 |
Tokamak | ★286 / Y | 一个 React-like 框架, 提供了一个声明性API,用于通过易用的单向数据绑定来构建原生UI组件。 |
TemplateKit | ★157 / Y | 基于 React 的框架,用于在 Swift 中构建基于组件的用户界面。 |
CoreEvents | ★4 | 类似 C# 事件的简单库。 |
反射
地址 | Stars/Siwft | 简介 |
---|---|---|
EVReflection | ★938 / Y | 基于 JSON 编解码的反射框架。支持 NSDictionary, NSCoding, Printable, Hashable 和 Equatable. |
Runtime | ★644 / Y | 一个用于查看类型信息以及动态获取和设置属性的Swift运行时库,就是会所可以动态设置 geter/seter。 |
Reflection | ★584 | Reflection 提供了一个用于在运行时进行高级反射操作的API,包括类型的动态构造。 |
JSONNeverDie | ★467 / Y | 一个 JSON 自动转模型的工具,使用优化的编解码工具。 |
Mirror | ★465 | 通过反射(Refection)实现镜像对象封装库。从而可以更轻松获取(或输出)对象属性名、类型及值变量. |
Reflect | ★306 / Y | Reflection, Dict2Model(字典转模型), Model2Dict(模型转字典), Archive,Swift 下模型解析。 |
SwiftKVC | ★125 / Y | 一套能让原生 Swift 类和结构按照 Key-Value (KVC) 方式进行操作。 |
Code Injection/代码注入
地址 | Stars/Siwft | 简介 |
---|---|---|
injectionforxcode | ★6.3k / Y | 一个运行时代码注入工具,面向 Objective-C 和 Swift。 |
dyci | ★1.1k | 用于 Objective-C 的动态代码(不需要重启应用)注入工具。 |
Vaccine | ★276 / Y | Vaccine 可以让你免受重新编译之苦,其提供了一种直接的方法进行代码注入,也被称为"热加载",其提供了针对应用程序代理、NSObject、和视图的扩展。 |
Dependency Injection/依赖注入(IoC或切面)
地址 | Stars/Siwft | 简介 |
---|---|---|
Aspects | ★7.8k | 个简洁高效的用于使iOS支持AOP面向切面编程的库.它可以帮助你在不改变一个类或类实例的代码的前提下,有效更改类的行为. |
Swinject | ★4k / Y | 一个针对 Swift 的依赖注入框架,适用于 iOS/macOS/Linux。 |
Typhoon | ★2.7k / Y | 一个强大的依赖注入框架,适用于 Objective-C 和 Swift。 |
Cleanse | ★1.4k / Y | 轻量级依赖注入框架,Square 出品。 |
Needle | ★639 / Y | — 采用分层的 DI 结构,并利用代码生成来确保编译时的安全性。这使得在开发时更有信心对代码更改,Needle与 JVM 的 Dagger 更相似。基于 Swift。 |
Weaver | ★459 / Y | 一个声明性、易用和安全的依赖注入框架,面向 Swift。 |
Perform | ★280 | 针对 storyboard 的依赖注入框架。 |
DITranquillity | ★255 / Y | 用 Swift 实现的一个简洁依赖注入容器。 |
Locatable | ★91 / Y | Locatable 是一个 Swift 微框架,它通过一个自定义属性 @Locatable 并利用 Swift Property Wrappers 来实现 Service Locator 模式。 |
Reliant | ★51 | 一个 Objective-C 非侵入式依赖注入框架,其目标是在不限制功能的前提下,让使用尽可能简单,对业务代码产生最小的影响。 |
Guise | ★48 / Y | 一个优雅灵活的、类型安全的依赖解决方案,针对 Swift。 |
Alchemic | ★13 | 一个针对 Objective-C 的高级,简单的依赖注入框架,目的是帮助您管理对象的创建,对象属性和变量,让其尽可能简单和容易。 |
StoryboardBuilder | ★5 | StoryboardBuilder 可以轻松帮助您生成 Storyboard(或 Xib)中定义的视图以及视图控制器。 |
ViperServices | ★4 / Y | 一个用 Swift 实现的依赖注入容器,支持启动顺序。 |
Kraken | ★2 / Y | 一个基于 Swift 的依赖注入容器,有非常简单易用的语法。 |
安全
安全相关教程
- Mobile Security - —iOS 开发入门安全指南
安全相关开源 APP
地址 | Stars/Siwft | 简介 |
---|---|---|
open-source-ios-apps#security | ★23.6k | 安全相关的 iOS 移动端 APP,包括秘钥管理、加解密、VPN等。 |
安全相关开源框架
- Hopper App - Hopper Disassembler是一款逆向工程工具,iOS爱好者可以使用它来进行反汇编,反编译和调试应用程序。此工具也可用于修改和重组代码。你只需在你的macOS或Linux系统上启动该应用,然后将其指向你需要破解的二进制文件即可。总的来说Hopper是一款非常好用的逆向工程工具,对于热衷于iOS漏洞赏金的人而言,无疑它将成为一个首选.
- 《Protecting iOS Applications》 - 文章系统地介绍了如何保护iOS程序的代码安全,防止反汇编分析.
- 仿密码锁-九宫格 - 仿密码锁-九宫格,主要是使用UIButton 手势事件 UIBezierPath画图,解锁失败弹出“密码错误”.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
MonkeyDev | ★4.6k | CaptainHook Tweak、Logos Tweak and Command-line Tool、Patch iOS Apps, Without Jailbreak. |
RequestPermission | ★3.9k / Y | simple permission request with beautiful UI. |
fishhook | ★3.9k | fishhook是Facebook开源的一个可以hook系统方法的工具. |
LuLu | ★3.7k | 防火墙 LuLu is the free open-source macOS firewall that aims to block unauthorized (outgoing) network traffic. |
SFHFKeychainUtils | ★1.3k | iOS中使用SFHFKeychainUtils保存用户密码,比如项目中需要保存用户密码,以实现自动登录的功能可以使用. |
cocoapods-keys | ★1.3k | 一个密钥存储工具,用于存储环境和应用程序密钥。 |
CoreLock | ★986 | 本框架是高仿支付宝,并集成了所有功能,并非一个简单的解锁界面展示。个人制作用时1周多,打造解锁终结者框架. |
AppAuth-iOS | ★849 / Y | iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers. 用于iOS和MacOS的OAuth和OpenID Connect客户端. |
BiometricAuthentication | ★692 | BiometricAuthentication 可以让您在应用程序中使用 Apple FaceID 或 TouchID 进行身份验证。 |
PCGestureUnlock | ★689 | 目前最全面最高仿支付宝的手势解锁,而且提供方法进行参数修改,能解决项目开发中所有手势解锁的开发. |
SwiftPasscodeLock | ★653 / Y | 使用 Swift 编写的具有 TouchID 身份验证能力的 iOS 密码锁屏。 |
LTHPasscodeViewController | ★625 | 一个 iOS 锁屏的替代品 (来自于设置), 带有 TouchID 功能, 以及一些简单(可变长度)/复杂功能支持。 |
LSSafeProtector | ★604 | 防止crash框架,不改变原代码支持KVO自释放,可以检测到dealloc时未释放的kvo,等19种crash. |
Smile-Lock | ★599 | 一个用于构建漂亮锁屏界面的库。 |
Smile-Lock.swfit | ★599 | 一个类似于iOS的解锁界面. |
ABPadLockScreen | ★501 | 九宫格密码锁. |
DKWechatHelper | ★402 | 不止于抢红包,功能丰富的微信插件. |
TOPasscodeViewController | ★347 | 一个 于iOS 模态密码输入和验证视图控制器。 |
SecurePropertyStorage | ★302 / Y | 帮助您使用 Swift 属性包装器为属性定义安全存储。 |
NSDictionary-NilSafe | ★253 | How we made NSDictionary nil safe at Glow. |
zxcvbn-ios | ★200 | 一个符合真实场景的密码强度估计工具。 |
MMPlugin | ★183 | 微信自动抢红包、防消息撤回、修改运动步数、朋友圈小视频转发等功能(无需越狱),附微信重签名教程. |
Myriam | ★116 | A vulnerable iOS App with Security Challenges for the Security Researcher inside you. |
TouchID | ★115 | 用法简单的TouchID验证框架:两行代码搞定. |
simple-touch | ★107 / Y | 针对 生物特征识别认证服务(Touch ID)的一个简单的 Swift 封装。 |
RSAESCryptor | ★91 | 加密 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. |
iOS-App-Security-Class | ★65 | 一个简单的类,用于检查iOS应用是否已被破解,是否已通过自定义dylib进行调试或功能强化,以及检测越狱环境。 |
KKPinCodeTextField | ★54 | 一个可自定义的验证 textField。 |
Virgil Security Objective-C/Swift SDK | ★26 / Y | 该 SDK 允许开发人员将完整的端到端安全性添加到其现有的数字解决方案中,从而使其符合HIPAA和GDPR要求,并且可以使用 Virgil API 进行更多应用。 |
JMPasswordView | ★25 | 简单实用的手势密码,效果可自行调控. |
BiometricAuth | ★23 | 一个用于生物特征认证(通过TouchID)的简单框架。 |
LikeAlipayLockCodeView | ★20 | 高仿支付宝手势解锁(超级版). |
SAPinViewController | ★19 / Y | 简单易用的默认iOS PIN 锁屏。 这个简单的库可让您绘制一个完全可定制的 PIN 锁屏,与 iOS 默认 PIN 视图相同。 创建该库的灵感来自 THPinViewController,但 SAPinViewController 是基于 Swift 实现的。 创建此库的主要目的还在于具有简单,易用且可完全自定义的PIN屏幕。 |
TPObfuscatedString | ★18 / Y | 一个简单的基于针对字符串进行混淆的工具,基于 Swift 实现。 |
ICPayPassWordDemo | ★9 | CPayPassWordDemo,一个模仿支付宝支付密码输入对话框小demo. |
Virgil SWIFT PFS SDK | ★4 / Y | 该 SDK 允许开发人员将 Perfect Forward Secrecy (PFS)技术添加到您的数字解决方案中,以保护先前拦截的流量,即使主要私钥遭到破坏也不会被解密。 |
Vault | ★3 | 一个管理加密密钥的安全地方。 |
MSCrashProtector | An Global protection scheme(代码容错处理). | |
NativeLogin | / Y | Authorization form in native iOS style. |
加密、解密技术
地址 | Stars/Siwft | 简介 |
---|---|---|
CryptoSwift | ★7.8k / Y | 用 Swift 编程语言实现的 Swift 密码相关函数和帮助程序,非常流行的加密解密库,项目配有完善的单元测试,可以放心使用。 |
sstoolkit | ★3.4k | 一个不错的工具包,提供各种比如编码、加密、字符串处理等等东西,还提供了一些不错的自定义控件,并且文档非常齐全。 |
RNCryptor | ★3.2k / Y | CCCryptor (AES encryption) 的封装, 基于 Swift 实现,卖相 iOS 和 Mac in Swift. -- 如果是 ObjC, 可以参考 RNCryptor/RNCryptor-objc. |
Themis | ★1k / Y | 一个高级密码库,提供基本的非对称加密功能,还具有前向保密性的安全消息传递和安全的数据存储,支持 iOS/macOS,Android以及多种服务器端平台。 |
Objective-C-RSA | ★985 | Doing RSA encryption and decryption with Objective-C on iOS. |
SwiftyRSA | ★797 / Y | 使用 Swift 中的 RSA 公钥/私钥加密。 |
AESCrypt-ObjC | ★767 | 一个简单而有效的 AES加密/解密 Objective-C 类 |
SwCrypt | ★589 / Y | 基于 CommonCrypto 的 RSA 公钥/私钥生成工具, 该包括 RSA, AES 加密/解密, RSA 签名/验证 等功能,基于 Swift 实现,卖相 iOS 和 macOS. |
Obfuscator-iOS | ★529 | 用该框架可以通过混淆所有对安全敏感的硬编码字符串来保护您的应用程序。 |
IDZSwiftCommonCrypto | ★440 / Y | 用Swift编写的Apple通用加密库的封装。 |
swift-sodium | ★364 / Y | 一个 iOS 安全易用的加密工具。 |
Arcane | ★272 / Y | 基于 CommonCrypto 的一个轻量级封装,基于 Swift 实现. |
SipHash | ★246 / Y | 基于 SipHash 算法实现的一个简单安全的 hash 工具,基于 Swift 实现。 |
SecureEnclaveCrypto | ★238 | 一个在 iOS 上使用 Secure Enclave 的演示库。 |
SwiftSSL | ★184 / Y | 一个优雅的加密工具包,基于 Swift 实现。 |
AESCipher-iOS | ★180 | AESCipher-iOS:用 Objective-C 实现的 AES 加密。与 AESCipher-Java 一并使用能达到 在iOS、Android、Java后台产生相同密文、正确解密成明文的目的。AES加密 - iOS与Java的同步实现. |
SwiftHash | ★166 / Y | 使用 Swift 实现的 Hash 算法。 |
EnigmaKit | ★109 / Y | 使用 Swift 实现的 Enigma 加密。 |
JOSESwift | ★92 / Y | 一套针对 JOSE 标准 JWS, JWE, 和 JWK 的框架,基于 Swift 实现。 |
CatCrypto | ★50 | 一个用于散列和加密的简单方式。 |
SweetHMAC | ★39 / Y | 一个简单易用的 Swift 类,用于使用 HMAC 算法加密字符串。 |
SCrypto | ★33 / Y | 一套优雅基于 Swift 实现的接口,用来访问 CommonCrypto 例程。 |
Virgil Security Objective-C/Swift Crypto Library | ★26 / Y | 一种高级加密库,允许执行安全存储和传输数据所需的所有操作。 |
RSASwiftGenerator | ★16 / Y | 在客户端上生成RSA密钥,并保存到钥匙串(keychain)或覆盖到 Data 中。 |
SwiftMD5 | ★10 / Y | 一个纯 Swift 实现的 MD5 工具。 |
Keychain/钥匙链
地址 | Stars/Siwft | 简介 |
---|---|---|
KeychainAccess | ★5.6k / Y | 一个针对 Keychain 的 Swift 封装,卖相 iOS 和 macOS,详细、优雅、简明的 README。 |
SAMKeychain | ★5.3k | 一套 keychain 的 Objective-C 封装,面向 Mac 和 iOS. |
sskeychain | ★5.3k | 便捷的使用keyChain存储用户名密码等 |
Valet | ★3.4k | 可以安全地将数据存储在 iOS 或 macOS 密钥链中,而不需要知道密钥链是如何工作的。 |
UICKeyChainStore | ★2.9k | UICKeyChainStore 是针对 Keychain 的简单封装。 |
Locksmith | ★2.9k / Y | 一个强大的,面向协议的库,用于在 Swift 中使用钥匙串。 |
SwiftKeychainWrapper | ★1.2k / Y | 一个简单的iOS钥匙串包装器,可让您以类似于“用户默认设置”的方式使用它。 |
Lockbox | ★860 | 一套在 keychain 中安全存储数据的 Objective-C 工具类。 |
Keychains | ★68 | 一个 针对 keychain 的简单封装, DEPRECATED,不推荐,已经不再维护。 |
SwiftyKeychainKit | ★7 / Y | 一套 Keychain 封装,具有静态键入和方便的语法,支持原始类型,可编码,NSCoding 的优点。 |
代码混淆
地址 | Stars/Siwft | 简介 |
---|---|---|
ios-class-guard | ★1.5k | 一个用于混淆iOS的类名、方法名以及变量名的开源库--有人反映编译出来的app运行不了. |
WHC_ConfuseSoftware | ★949 / Y | u3d、cocos2dx、iOS代码混淆、自动翻新专家(WHC_ConfuseSoftware)是一款新一代运行在MAC OS平台的App、完美支持Objc和Swift、U3D、Cocos2dx项目代码的自动翻新(混淆) |
DiffHelper | ★328 | iOS混淆、iOS 代码混淆工具、可用户 iOS 马甲包。 |
逆向
地址 | Stars/Siwft | 简介 |
---|---|---|
ios-app-signer | ★3.2k | 重签名工具. |
iWeChat | ★1.5k | 我们一起来还原微信。希望通过 iWeChat 这个项目能过勾勒出微信的设计,使用到的技术手段等. |
app2dylib | ★619 | A reverse engineering tool to convert iOS app to dylib. |
安全加固
其他安全相关资料
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-mobile-security | ★1.2k | 专门针对移动端安全的资源集合,包括安卓和iOS |
IOS安全学习资料汇总 | ★612 | 内容不少,但格式比较乱,不便于浏览。 |
osx-security-awesome | ★450 | OSX/iOS安全相关的资源集合 |
iOS安全资料整理 | ★4 | 更新还比较频繁。 |
机器学习、人工只能相关
一系列机器学习,深度学习,神将网络相关的模块和框架
相关教程
- 《iOS机器学习》
- iOS机器学习之-CoreML框架简介
- iOS 机器学习 - Apple - CoreML 苹果官方介绍
- Core ML介绍 (Apple机器学习框架)
- 《iOS Core ML 机器学习入门》
iOS 机器学习相关资源
地址 | Stars/Siwft | 简介 |
---|---|---|
Awesome-CoreML-Models | ★4.6k / Y | 针对 Core ML(iOS 11+)的机器学习模块列表。 |
Awesome-Mobile-Machine-Learning | ★904 | 关于移动端机器学习的资源库。 |
Awesome Machine Learning DEMOs with iOS | ★567 | 通过Core ML和ML Kit(TensorFlow Lite)解决了在iOS上使用机器学习模型的挑战。有一些例子。 |
机器学习相关开源框架
地址 | Stars/Siwft | 简介 |
---|---|---|
Tensorflow-iOS | ★145k | Google官方推出的,功能强大,面向iOS神经网络AI库,基于 tensorflow |
Swift-AI | ★5.7k / Y | Swift机器学习库。 |
CoreML-Models | ★4.6k / Y | 一组 Core ML 模型的集合 |
Bender | ★1.7k | 轻松制作神经网络吗,基于 TensorFlow 模型。 |
AIToolbox | ★737 / Y | 用Swift编写的AI模块工具箱:图形/树,线性回归,支持向量机,神经网络,PCA,KMeans,遗传算法,MDP,高斯混合等。 |
SeeFood | ★440 / Y | 受到 HBO《硅谷》电视剧的启发,开发的同款 SeeFood 应用,基于 CoreML 识别菜肴。 |
Swift-Brain | ★322 / Y | 包括人工智能/机器学习数据结构和算法,基于Swift,面向未来的的iOS开发,比如包括 贝叶斯定理,神经网络以及更多AI算法。 |
TensorSwift | ★320 / Y | 一个轻量级的库,用于在Swift中计算张量(Tensor),它具有与TensorFlow相似的API。 |
ShowAndTell | ★149 | Show and Tell 基于 CoreML 在 iOS 11.0 的实现。 |
TrafficLights-DeepLearning-iOS | ★93 | 利用 Caffe 深度学习执着的一个交通灯信号检测App |
Serrano | ★48 | 适用于iOS和macOS的深度学习库。 |
CoreML-samples | ★33 | 使用 Apple 提供的 ResNet50 和 coremltools 生成的自定义的Core ML示例代码。 |
Revolver | ★22 / Y | 在Swift中构建快速遗传算法的框架。 带有模块化体系结构,预实现的运算符和大量示例。 |
日志
日志相关教程
日志框架
调试、日志相关,框架,集成等等.*
Crashlytics - Crashlytics 崩溃报告 崩溃日志 使用说明 。
snoop-it - snoop-it比UIViewController-Swizzled好用,代码托管在google上。
MobileWebPageTest - MobileWebPageTest是用来测试移动网页性能的软件,它可以对页面的加载和渲染过程进行截屏,协助开发者分析出页面性能瓶颈。
使用Quick框架和Nimble来测试ViewControler - Quick是一个用于创建BDD测试的框架。配合Nimbl,可以为你创建更符合预期目标的测试。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
CocoaLumberjack | ★12k / Y | 适用于Mac和iOS的快速,简单,功能强大且灵活的日志记录框架。OC 时代最好用的记录日志的开源库。现在同时有 OC 版和 swift 版本提供。 |
xctool | ★7k | Facebook出的自动化打包工具,它规范了输出的log日志,而且一些错误信息也更为清晰一些。 |
NSLogger | ★4.8k | 一套高性能的日志工具集,可显示在 macOS,iOS 和 Android上 运行的客户端应用程序的日志踪迹。 |
SwiftyBeaver | ★4.8k / Y | 在开发和发布期间的便捷化日志记录。 |
XCGLogger | ★3.5k / Y | 在Swift项目中使用的调试日志框架。 允许您将详细信息记录到控制台(以及可选的文件)中,就像使用NSLog或println一样,但还包括其他信息,例如日期,函数名称,文件名和行号。 |
KSCrash | ★3.1k | iOS Crash 捕获上报工具, 可以自己配置服务器, 也可以与它推荐的服务器搭配使用 |
dSYMTools | ★2.9k | 友盟 dSYM analyze |
TinyConsole | ★1.9k / Y | 一个小的日志控制台,可在使用iOS应用程序时显示信息。 |
swift-log | ★1.9k / Y | A Logging API for Swift. |
Watchdog | ★1.7k / Y | 一个用于记录阻塞主线程的过重任务的类。 |
CleanroomLogger | ★1.3k / Y | 基于Swift的可配置和可扩展的日志API,简单,轻巧且性能卓越。 |
Rainbow | ★1.3k / Y | 为快速开发人员提供令人愉快的控制台输出。 |
Willow | ★1.2k / Y | 跟踪Swift和Objective-C方法调用。 |
UIViewController-Swizzled | ★870 | 把你进入的每一个controller的类名打出来,如果看一些特别复杂的项目的时候直接运行demo就可以知道执行次序了。 |
Log | ★792 / Y | 具有内置主题,格式化程序和漂亮的API的日志记录工具,也可以定义您自己的主题。 |
Buildasaur | ★776 | 自动测试框架 Buildasaur。 |
QorumLogs | ★769 / Y | — 为 Xcode 和 Google Docs 设计的 Swift 日志工具。 |
Diagnostics | ★453 | 允许用户轻松地与您的支持团队共享诊断信息,以改善错误修复流程。 |
LxDBAnything | ★435 | 自动装箱所有相关的值! 打印日志,不带任何格式控制符号! 彻底改变调试习惯! |
JustLog | ★399 | 通过TCP套接驱动的控制台,文件和远程Logstash日志记录。 |
Gedatsu | ★348 / Y | 提供 AutoLayout 控制台错误日志的可读课时。 |
XLFacility | ★308 | 为macOS&iOS(包括数据库、Telnet和HTTP服务器)提供优雅而广泛的日志功能。 |
SwiftTrace | ★292 / Y | Trace Swift and Objective-C method invocations. |
Loggerithm | ★270 / Y | 轻量级的Swift记录器,在开发中使用“ print”,在生产中使用“ NSLog”。 支持彩色和格式化输出。 |
Twitter Logging Service | ★269 | Twitter 出品的日志服务,功能强大,稳定,高性能。 |
BlockTypeDescription | ★259 | 在日志记录 block 的时候显示类型签名。 |
SwiftyTextTable | ★219 / Y | 一个生成文本表格的轻量级工具。 |
Atlantis | ★201 / Y | 一个强大的,就可以将不可知数据作为输入的swift日志框架,可以加快开发速度和并最大化可读性。 |
Versions | ★197 | 版本比较小工具。 |
puree | ★150 / Y | 一个 iOS的日志收集器。 |
KKLog | ★139 | 一个日志管理系统。 |
Bugtags | ★91 | 收集崩溃日志,用户操作信息等,解决线上崩溃问题的神器 |
Evergreen | ★76 / Y | 最自然的Swift日志记录。 |
Reqres | ★69 | 支持的 Alamofire 针对网络请求和相应的 logger. |
ReflectedStringConvertible | ★60 | 一种协议,它允许将任何类当做结构进行打印。 |
XLTestLog | ★59 | 在Xcode Console上为XCTest日志设置样式和颜色。 |
Bugfender | ★50 | 应用程序日志的云存储。 跟踪用户行为以发现您的移动应用程序中的问题。 |
Lighty | ★48 | 适用于iOS,macOS,tvOS,watchOS和Linux的易于使用且轻巧的 logger。 |
TraceLog | ★44 / Y | 非常简单:按原样用就行!可以在ios、osx和Linux上运行。 |
AELog | ★27 / Y | 用Swift编写的简单,轻巧和灵活的调试日志记录框架。 |
Colors | ★26 / Y | 用于使用ANSI代码的纯Swift库, 让使命令行着色和样式化变得非常容易! |
OkLog | ★17 / Y | iOS和macOS项目的网络logger。 |
Spy | ★10 / Y | 轻量级、灵活、多平台(iOS、macOS、tvOS、watchOS、Linux)日志工具,使用纯Swift编写,允许您记录不同级别的日志和通道,您也可以根据需要自行定义。 |
StoryTeller | ★10 | 采用完全不同的日志记录方法,Story Teller替换了其中的固定日志记录级别,然后使用动态表达式来控制日志记录,因此您需要重要的信息。 |
LumberMill | ★2 | 傻瓜式的日志框架 |
调试
调试相关教程
调试技巧:
调试工具:
调试相关的工具和框架
- 主要包括:调试工具, 崩溃报告, 日志及console控制台等工具.*
- AppSpector - 提供远程 iOS 和 Android 调试和数据收集服务,您可以通过其调试网络,日志,CoreData,SQLite,NSNotificationCenter和模拟设备的地理位置。
- Woodpecker - 从 Mac 上查看沙盒文件、UserDefaults、以及网络请求。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
DoraemonKit | ★14.6k | 一个功能齐全的 iOS 应用程序开发助手,包括 30 多个工具。 |
Flex | ★11.6k | 一个嵌入 iOS App 的调试和探索工具。 |
chisel | ★8.2k | 一组 LLDB 命令集合,以辅助调试 iOS 应用。 |
PonyDebugger | ★5.8k | 使用 Chrome 开发者工具对你的 iOS app 进行远程网络和数据调试。 |
GodEye | ★3.5k / Y | 基于Swift,可以自动显示 Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder等,只通过一行代码即可。 |
CocoaDebug | ★3.4k / Y | iOS内置调试工具(日志打印/网络监控/内存监控/沙盒查看...) 兼容Swift和Objective-C. |
FBSimulatorControl | ★3k / Y | 支持同时启动多个模拟器的库,FaceBook出品. |
Netfox | ★2.9k / Y | 一个轻量级,配置简单(号称一行配置)的网络调试工具,面向 iOS 和 macOS 。 |
DCIntrospect | ★2.2k | :小型的 iOS 可视化调试工具库。 |
Dotzu | ★1.8k | 一个 iOS APP 调试器,包括崩溃报告,日志和网络. |
Hyperion | ★1.8k | 一个应用内排查工具,可检查尺寸,属性和动画 |
Wormholy | ★1.8k / Y | 像向导一样 iOS网络调试。 |
swift-snapshot-testing | ★1.4k / Y | 一个快照测试库,以方便您对视图进行UI测试. |
NetworkEye | ★1.3k | 一个 iOS 网络调试库,它可以监视 App 内的 HTTP 请求并显示与该请求有关的信息。 |
Cuckoo.swift | ★1.2k / Y | Cuckoo.swift一款用法更接近于传统单元测试 Mock 框架库(区别之处在于需要用脚本预先生成 Mock 类). |
DBDebugToolkit | ★1.1k | 一组适用于 iOS 开发人员和质量检查工程师(QA)的非常易用的调试工具。 |
MTHawkeye | ★967 | 适用于 iOS 的性能分析/调试辅助工具,包括以下工具:UITimeProfiler,内存分配,活动ObjC对象嗅探器,网络事务瀑布流等。 |
Alpha | ★726 | 号称是iOS下一代调试框架。 |
Playbook | ★721 / Y | 一用于独立开发UI组件并自动对其进行快照的库。 |
Xniffer | ★488 / Y | 一个基于URLSession的网络分析器,Swift 实现。 |
LayoutInspector | ★442 | 直接在 iOS 设备上调试应用布局:检查3D图层并调试每个可见视图属性。 |
depcheck | ★384 / Y | Swift 工程分析工具(Dependency analyzer tool for Swift projects). |
Httper-iOS | ★360 / Y | 供开发人员测试REST API的应用。 |
AEConsole | ★131 / Y | 一个可定制的终端UI组件,基于调试日志,运行于iOS App 的顶部. |
Droar | ★44 | Droar是一个模块化的单行安装调试窗口组件。 |
swiftlog | ★29 / Y | 为Swift 应用提供快捷添加日志信息的方法,Swift 包管理支持(SPM)、 使用惊艳的 Rainbow 包输出彩色日志、支持写入文件。使用 swiftlog. |
XXPlaceHolder.swift | ★25 / Y | MMPlaceHolder的swift版本。 |
测试
单元测试
测试驱动开发/行为驱动开发(TDD / BDD)
TDD/BDD 相关文章
TDD/BDD 相关开源测试框架
- Cucumber - 一个 iOS 的 BDD 开发工具。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Quick | ★8.7k / Y | 基于 Swift 和 Objective-C 的 BDD 框架。 |
Kiwi | ★4.1k / Y | 一个基于行为驱动(BDD - Behavior Driven Development)的 iOS 开发库,基于 Swift。 |
Nimble | ★3.7k / Y | 一套 Swift 和 Objective-C 的 Matcher 框架 |
Specta | ★2.3k | 一个基于 Objective-C 和 Cocoa 的轻量级 TDD/BDD 框架。 |
gh-unit | ★1.9k | 一个 Objective-C 的测试框架。 |
SwiftCheck | ★1.3k / Y | 让 Swift 测试变得更快,可以自动生成测试用的随机数据和属性。 |
Sleipnir | ★853 / Y | 一套 Swift 的 BDD 风格的框架。 |
swift-corelibs-xctest | ★822 / Y | 一套已 Swift 为核心的单元测试框架。 |
XcodeCoverage | ★792 | 针对 Xcode 项目的代码覆盖率工具。 |
Spry | ★323 | 一个基于 Nimble 的 Playgrounds 单元测试工具,面向 Mac 和 iOS。 |
PlaygroundTDD | ★321 | 一个可直接在 Playground 中轻松运行测试的小型库。 |
Dixie | ★196 | Dixie 是一个用于更改对象行为的开源 Objective-C 测试框架。 |
OHHTTPStubs | / Y | 可以轻松添加和保存网络请求,你可以通过为找的网络数据(比如响应时间,响应数据,和头信息等)测试 APP。 |
A/B 测试
地址 | Stars/Siwft | 简介 |
---|---|---|
SkyLab | ★755 | 适用于 iOS 和 Mac 的多变量和 A/B 测试。 |
Switchboard | ★285 | Switchboard 是一套针对移动端(包括 iPhone 和 android)进行 A/B 测试超轻量级工具。这个移动端 A/B 测试框架, 此移动端 A/B 测试框架只需要少量的服务端支持即可模拟大量的移动用户。 |
ABKit | ★112 | iOS 的 AB 测试框架。 |
MSActiveConfig | ★77 | 适用于 iOS 的远程配置和 A/B 测试框架。 |
UI 测试/界面测试
UI 测试相关文章
地址 | Stars/Siwft | 简介 |
---|---|---|
UI Testing Cheat Sheet(英) | ★1.9k / Y | 如何进行UI测试?该文档主要提供了一些指导。 |
UI 测试框架/工具
- appium - Appium 是一个开源自动化测试框架,面向原生应用和混合(hybrid)应用。
- Cucumber - 一个 iOS 的 BDD 开发工具。
- ios-driver - 使用 Selenium / WebDriver 来对 iOS 原生程序、hybrid 混合程序,以及相关的 Web 应用进行测试。
- Flawless App - 移动应用程序实时视觉质量检查工具。它将初始设计与iOS模拟器内部的实际实现进行了比较。
- UIAutomation - 一个使用脚本在连接着的设备上测试你的用户界面元素的 JavaScript 库。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Kif | ★5.8k | iOS 函数式测试框架. |
QMUI_iOS | ★5.6k | QMUI iOS——致力于提高项目 UI 开发效率的解决方案. |
EarlGrey | ★5.1k | 一个 iOS UI 自动化测试框架。 |
Bluepill | ★2.9k | Bluepill 是一个可靠的iOS测试工具,它在一台机器上使用多个模拟器运行UI测试。 |
Subliminal | ★774 | 一种低调的 iOS 集成测试方法。 |
TouchVisualizer | ★748 / Y | 一个 Swift 的轻量级触摸可视化库,一行代码和可视化您的触摸! |
Remote | ★698 | 从 Xcode 内部控制您的 iPhone,以进行端到端测试。 |
LayoutTest-iOS | ★555 | 用多配置的方式来对视图布局进行单元测试。 |
ViewInspector | ★318 / Y | 针对 SwiftUI 视图的运行时检查和单元测试。 |
robotframework-appiumlibrary | ★239 | AppiumLibrary 是 RobotFramework 的 appium 测试库。 |
AppiumLibrary | ★239 | AppiumLibrary 是一个用于 RobotFramwork 的 appium 测试框架。 |
AutoMate | ★221 | XCTest 的扩展,用于编写 UI 自动化测试用户。 |
CrashMonkey | ★189 | iOS 平台的 Monkey 测试工具。 |
UITestHelper | ★48 | UITest 帮助程序库,用于创建可读和可维护的测试。 |
Zucchini | 可视化的 iOS 测试框架。 |
网络测试
地址 | Stars/Siwft | 简介 |
---|---|---|
Reachability | ★6.9k | 苹果提供过一个Reachability类,用于检测网络状态。但是该类由于年代久远,并不支持ARC。该项目旨在提供一个苹果的Reachability类的替代品,支持ARC和block的使用方式。 |
NEKit | ★2.7k / Y | 一个网络扩展工具库,A toolkit for Network Extension Framework. |
LDNetDiagnoService_IOS | ★1k | IOS平台利用ping和traceroute的原理,对指定域名(通常为后台API的提供域名)进行网络诊断,并收集诊断日志. |
DVR | ★618 / Y | 一个 Swift 网络测试工具。 |
Vinyl | ★252 / Y | Vinyl是一个简单但灵活 Swift 网络测试库,用于在单元测试时重播HTTP请求,它的灵感来自于 DVR 和 VCR 。 |
SimpleBS.swift | ★29 / Y | 网络测试小工具. |
SimpleCarrier | ★16 | 简单的运营商信息获取. |
NetReachability | ★16 / Y | swift2.0 简单的方法检查网络连接的连通性,提供通知中心集成接口. |
其他测试相关框架/工具
- OCMock - 一套 Objective-C 的 对象 mock 工具。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Mobile, Tablet, TV test automation | ★3.6k | 针对移动端自动化测试的资源集合。 |
ios-snapshot-test-case | ★2.7k | 使用屏幕快照的 iOS 单元测试。 |
Mockingjay | ★1.4k / Y | 一个优雅的,用于在Swift中轻松处理 HTTP 请求的库。 |
Fakery | ★1.3k / Y | 一个 Swift 模拟测试护具生成器 |
Cuckoo | ★1.2k / Y | 首个 Swift 无样板的模拟框架,弥补了 Swift 的功能不足,有参考 Mockito 的 DSL 语法。 |
iOS Snapshot Test Case | ★1.2k | — Snapshot View 单元测试工具。 |
PinpointKit | ★1.1k / Y | 可以让您的测试人员或者用户能够使用简单的手势发送带有注释的屏幕截图,以及日志的反馈。 |
Buildasaur | ★776 | 使用 Xcode 服务器在 GitHub 和 BitBucket 上自动测试 Pull 请求。高效和安全,几分钟就能搞定。 |
Kakapo | ★770 / Y | 动态模拟服务器行为和响应,基于 Swift。 |
NaughtyKeyboard | ★586 | NaughtyKeyboard 是一个字符串列表,用来帮助你发现当用户输入数据时可能产生问题。这是一个帮你测试 iOS 设备的键盘。 |
Cribble | ★278 / Y | 一个 Swift 的界面测试工具。 |
trainer | ★198 | 将 xcodebuild plist 文件转换为JUnit报告。 |
MirrorDiffKit | ★162 | 展示任何两个类型之间(如结构体之间或类之间)的差异,有比较友好的展示效果。 |
second_curtain | ★127 | 将失败的 iOS 快照测试用例上载到 S3 服务器。 |
Mockit | ★107 / Y | 一个简单的 Swift 模拟(mock)框架, 灵感来自于 Java 的 Mockito 。 |
AcceptanceMark | ★62 | 可以从 Markdown 表格自动生成 Xcode 测试类。 |
MetovaTestKit | ★22 | 一组测试工具,用于将崩溃的测试转换为失败测试,旨在减轻iOS应用程序编写测试的负担。 |
XCTestExtensions | ★16 / Y | XCTestExtensions 一套 Swift 扩展,目的是为编写单元测试时能够方便使用断言。 |
SnappyTestCase | ★15 | 一个面向未知类型的快照测试的 iOS 模拟器,基于 FBSnapshotTestCase. |
DataFixture | 可以轻松创建数据模型,基本上没有新增附带。DataFixture 是一种生成新测试数据方简便方法。 |
相关测试服务工具、服务:
- Lookback - — iOS用户测试
- Keen IO - — 移动App分析
- Charles - — 网络封包分析工具Charles
- Reveal - — 2D和3D可视化技术查看App运行时的视图层次
- Shake Report - — 用户bug报告
- Bee - —iOS问题跟踪
- Crittercism - — 移动App性能监控
- Raygun - — iOS App错误跟踪
测试服务提供商
- 云测 - 提供移动端在线云测试服务,提供:APP测试、自动化测试、兼容测试、功能测试、手游测试 等服务。
- 精灵云测 - 专业、安全、高效的一站式智能测试平台。
- WeTest - 提供兼容测试、云真机测试、性能测试,安全测试、还有舆情分析等服务。
性能、优化
相关教程
相关资料
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS-Performance-Optimization | ★3.8k | 关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、 |
Optimizing-Swift-Build-Times | ★3.3k / Y | 收集有关优化Swift项目的编译时间的建议。 |
Unreachable | ★101 / Y | 针对不可达代码的优化提示,用在 Swift 中 |
Objective-C runtime 运行时
- Objective-C 运行时的封装、库和工具.*
地址 | Stars/Siwft | 简介 |
---|---|---|
Swizzlean | ★100 | 一个 Objective-C Swizzle助手类。 |
Lumos | ★89 / Y | 一个轻量级基于 Swift 的 Objective-C Runtime 运行时的封装。 |
SDK
官方 SDK
国内常用APP SDK 地址 TODO
国外常用应用的 SDK
- Google Analytics - Google Analytics iOS SDK
- Dropbox - Dropbox SDK.
- Firebase - Firebase 移动开发平台的 SDK。
- Primer - 一个 用于进行 a/b 测试的 SDK,在可视化编辑器上方便创建定制化的登陆页,注册和登录流程的 SDK。
- Adobe Creative SDK - Adobe creative tools 和 Creative Cloud SDK。
- PacketZoom - PacketZoom iOS SDK。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
★6.4k | Facebook iOS SDK. | |
ResearchKit | ★5.3k | ResearchKit是一个开源软件框架,可轻松创建用于医学研究或其他研究项目的应用程序。 |
1Password | ★2.5k | 1Password 针对 iOS 应用的扩展. |
CareKit | ★1.9k | CareKit 是一个可用于创建帮助人们更好地了解和管理其健康状况的应用程序的开源软件框架 |
AWS | ★1.4k | Amazon Web Services 的 iOS SDK. |
Stripe | ★1.2k | Stripe 的 iOS/macOS SDK. |
Paypal iOS SDK | ★973 | PayPal 的iOS 移动端 SDK,可以让原生 APP 轻松实现 PayPal 或信用卡收款。 |
twitter-kit-ios | ★649 | Twitter Kit 是一个原生 SDK,可以让你的应用 to include Twitter content inside mobile apps. |
Tumblr | ★406 | 用于将 Tumblr 数据集成到你的 iOS 或 macOS 应用的 SDK。 |
rides-ios-sdk | ★334 | Uber Rides iOS SDK。 |
Shopify | ★315 | Shopify 移动端 SDK,其简化了在移动应用程序内销售实体产品的过程。 |
SpotifyLogin | ★306 / Y | Spotify 登录SDK,基于 Swift. |
Spotify | ★247 | Spotify iOS SDK. |
Evernote | ★237 | Evernote(国内叫印象笔记) iOS SDK . |
★231 | Pocket SDK,用于将内容保存到 Pocket. | |
Venmo | ★155 | Venmo SDK,让你的 APP 可以通过 Venmo 付款。 |
algoliasearch-client-swift | ★154 / Y | Algolia Search API 客户端,基于 Swift. |
Zendesk | ★112 | Zendesk 的 iOS 端 SDK . |
★112 | Pinterest iOS SDK. | |
OneDrive | ★84 | Live iOS SDK . |
Box | ★79 | Box 的 iOS + macOS SDK . |
Azure | ★71 | Azure 云存储的客户端库。 |
playkit-ios | ★45 | PlayKit: Kaltura Player iOS SDK. |
Liquid Analytics | ★25 | 通过分析与实时的个性化的实时响应产生特定的行为。 |
非官方 SDK
地址 | Stars/Siwft | 简介 |
---|---|---|
Swifter | ★2.2k / Y | 一个Twitter API 框架 ,基于 Swift,面向 iOS/macOS. |
STTwitter | ★1k | 基于 Twitter REST API 1.1 的一个稳定成熟且全面的 Objective-C 库。 |
InstagramKit | ★951 | Instagram iOS SDK. |
SlackKit | ★919 / Y | Slack 客户端库,基于 Swift,面向 iOS/macOS。 |
objectiveflickr | ★719 | 使用 Objective-C 实现的 Flickr API 框架 |
SwiftInstagram | ★561 / Y | 一个 Instagram API 客户端,基于 Swift 实现。 |
waterwheel.swift | ★414 / Y | Waterwheel 的 Swift SDK,可以通过原生的方式将 iOS, macOS, tvOS, 和 watchOS 应用连接到 Drupal 7 或 8. |
SwiftyVK | ★228 / Y | 一个和 VK 社交网络 API 进行交互的 API 库,基于 Swift 实现的。 |
FHSTwitterEngine | ★214 | 为 Cocoa 开发者提供的 Twitter API。 |
FHSTwitterEngine | ★214 | 为 Cocoa 开发者提供的 Twitter API 库。 |
CloudRail SI | ★196 | 针对多个服务商的API提供统一的抽象层,比如云存储方面的 (Dropbox, Google, ...), 社交媒体方面的 (Facebook, Twitter, ...) 等等。 |
UnsplashKit | ★182 / Y | Unsplash 的 Swift 客户端. |
GitHub.swift | ★172 / Y | 一个非官方 GitHub API 客户端,基于 Swift |
das-quadrat | ★172 / Y | 使用 Swift 实现的 Foursquare API,面向 iOS 和 macOS. |
ForecastIO | ★162 / Y | 一个用于 Forecast.io Dark Sky API 的 Swift 库。 |
Easy Social | ★127 | Twitter 和 Facebook 的集成框架. |
Swiftly Salesforce | ★110 / Y | 一个集成 Salesforce 的易用框架, 基于 Swift 和 promises. |
PokemonKit | ★102 / Y | Pokeapi 的封装, 基于 Swift. |
UberKit | ★96 | 针对 Uber API 的简单易用的基于 Objective-C 封装。 |
RandomUserSwift | ★92 / Y | 一个可以创建随机用户的 Swift 框架,是一个 randomuser.me 的非官方 SDK. |
Spartan | ★88 / Y | 一个优雅的优雅的 Spotify Web API 的库,使用 Swift 编写,面向 iOS/macOS。 |
DribbbleSDK | ★76 | Dribbble iOS SDK. |
Mothership | ★72 / Y | 一个针对 Tunes Connect 库,受到 FastLane 其他。 |
BigBoard | ★63 / Y | 一个优雅的金融市场API库,可以通过钩子访问 Yahoo 金融 API, 基于 Swift 实现。 |
TJDropbox | ★53 | Dropbox v2 的客户端库,使用 Objective-C 实现。 |
Giphy | ★52 | Giphy API 的 Objective-C 客户端。 |
SwiftFlyer | ★38 / Y | 一个 bitFlyer API 封装, 器支持几乎所有提供商的 API。 |
JamfKit | ★30 / Y | 用 Swift 编写的 JSS 通信框架。 |
ARKKit | ★17 / Y | ARK Ecosystem Cryptocurrency API 框架,基于 Swift 4.0 实现,面向 iOS & macOS。 |
SCWeiboManager | ★14 | 对微博官方 SDK 的 block 封装。 更加易用,配置更简单。 |
SocialLib | ★12 | SocialLib 可以处理与多个社交媒体的消息分享。 |
BittrexApiKit | ★9 / Y | 一个简单的 Bittrex 交易 API 封装,使用 Swift 时间。 |
Medium SDK - Swift | ★9 / Y | 非官方的 Medium API SDK ,基于 Swift 实现,而且包含了一些实例工程. |
SwiftyArk | ★8 / Y | 一个简单、轻量级、完全异步的ARK生态系统加密货币框架。 |
PPEventRegistryAPI | ★8 / Y | Event Registry API (eventregistry.org) 的 Swift 3 框架. |
DropletKit | ★4 | Objective-C 包装的 DigitalOcean v2 API。 |
PerfectSlackAPIClient | ★2 / Y | Slack 服务器端 API 的 Swift 实现。 |
APP 内开源许可列表参考
- 网易新闻的开源协议 - 看网易客户端使用了那些开源组件
- instagram 开源协议
项目创建/安装
地址 | Stars/Siwft | 简介 |
---|---|---|
SwiftPlate | ★1.7k / Y | 通过命令行轻松生成跨平台 Swift 框架项目。 |
liftoff | ★1.6k | 另一个用于创建 iOS 项目的 CLI 工具。 |
xcproj | ★1.2k / Y | XcodeProj 是一个用 Swift 编写的库,用于解析和处理 Xcode 项目。 |
Tuist | ★917 / Y | 用于创建、维护和与Xcode项目进行大规模交互的工具。 |
SwiftKit | ★737 / Y | SwiftKit 允许您从命令行轻松生成跨平台 Swift 框架。 |
crafter | ★546 | 一个 CLI 工具,允许您使用自定义DSL语法配置iOS项目模板。 |
amaro | ★391 | 安装 Amaro 之后,运行了一个简单的命令之后,您就可以构建一个通用的iOS应用程序。 |
chairs | ★231 | 将最近使用的 iOS 应用程序的所有文档、库和缓存保存到具有命名版本的文件夹中。 |
包管理 / 依赖管理
文章/教程
- iOS - CocoaPods的安装和使用详细教程
- 《CocoaPods》
- Cocoapods使用指南
- 《如何使用 Swift Package Manager》
- Using the Package Manager - Swift 官方教程(英)
- WWDC 2018:细说 Swift 包管理工具 (Swift Package Manager)
- 《Xcode 11 中使用 SPM 管理第三方库》
- Carthage 的安装和使用
包管理相关工具
- Xcode Maven - Xcode Maven 插件,它可以将 Xcode 构建过程嵌入 Maven 的生命周期中
- Gradle - 有 Xcode 的 gradle 插件,可以使用 gradle 来构建 iOS 或者 Mac OS X 项目
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Carthage | ★13.7k / Y | 简单的分布式的 Cocoa 依赖管理器,支持 Swift。 |
CocoaPods | ★12.5k / Y | CocoaPods 是一个 Objective-C 项目的依赖管理工具,应用广泛,它拥有成千上万个库,它们可以使你的项目更加优雅。 CocoaPods 官网 |
Alcatraz | ★10.1k | Alcatraz 是一款管理 Xcode 插件、模版以及颜色配置的工具,官网 |
swift-package-manager | ★7.8k / Y | Swift编程语言的包管理器,苹果官方出品。 |
Rome | ★625 | Carthage 用于构建 frameworks 的 cache 工具。 |
Accio | ★584 / Y | 基于iOS和Co.的基于SwiftPM的依赖项管理器,对Carthage进行了改进。 |
CocoaSeeds | ★340 | Cocoa 的 Git 子模块替代品。 |
SWM (Swift Modules) | ★57 / Y | 一个类似 npm(node.js的包管理器)或者 bower(Twitter 的浏览器的包管理器) 的 Swift 项目的包/依赖管理器,无需使用 Xcode. |
punic | Carthage 的另一个简洁的重新实现 | |
Athena | 一个增强 Carthage 的 Gradle 插件,通过将归档后的 frameworks 上传到 maven 仓库。目前仅支持Bintray,Artifactory和Mavel本地形式。 |
部署/打包/分发
相关框架/工具
- buddybuild - 一个移动应用集成平台,包括:构建、部署及协作。
- Bitrise - 移动持续集成与交付服务,具有数十种集成工具,可用于构建,测试,部署和协作。
- Crashlytics - Google firebase, 用户崩溃报告和 beta 测试。
- TestFlight Beta Testing - Testflight,基于 iTunes Connect 的 beta 测试服务。 (需要 iOS 8 以上版本)。
- TestFlight.Top - 60秒制作TestFlight内测App分发页,用户直接下载测试.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
fastlane | ★28.8k | iOS 中最好用的自动化工具,可以将所有 iOS 部署工具连接到一个简化的工作流中,是自动构建和发布 iOS/Android 应用程序的最简单方法。它可以自动完成一些繁琐的任务,比如生成屏幕截图、处理配置、上传至 TestFlight 和 AppStore 等功能,。官网 |
deliver | ★28.8k | 只需一行命令就可以将屏幕截图、元数据和您的应用程序上载到 App Store(更新),现已和 fastlane 合并。 |
snapshot | ★28.8k | iOS 设备上创建本地化截图, 自动地创建全部语言和全部设备的屏幕截图。 |
watchbuild | ★266 | 当 iTunes Connect 构建完成处理后,可通过该工具获得通知 |
- AppCenter - 持续构建,测试,发布,还可以监视每个平台的应用程序。
- Rollout.io - 一个 SDK,可以用来实时打补丁,fix bug,修改,和操作本地应用 (Obj-c & Swift)。
- AppLaunchpad - 可以为 App Store 和 Google Play 创建漂亮的自定义截图,有免费版本。
- Instabug - 应用内反馈,错误和崩溃报告,通过用户步骤,视频记录,屏幕注释,网络请求记录更快地修复错误。
- Semaphore - CI/CD 服务,可轻松为任何 Apple 设备构建、测试和部署应用程序。
- HockeyApp - 在 HockeyApp 你可以发布你 app 的 beta 测试版本,收集实时的崩溃报告,获取用户反馈,分析测试覆盖率。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
HockeyKit | ★2.2k | Hockey是一个iOS Ad-Hoc更新器框架,它可以用于所有以 Apple AppStore 为目标的应用程序,并极大地改善了beta测试过程。 |
LaunchKit | ★2.1k | 一套基于 web 的面向移动端开发人员的开发工具,此库包含曾经为 LaunchKit 提供支持的所有代码的非商业版本,它包括 Screenshot Builder(用于创建 App Store 截图的Web UI)和 Review Monitor(该 Monitor 见识 Apple App Store 评论RSS提要以获取新评论,并有选择地通知您。) |
boarding | ★830 | 可以立即为 TestFlight 测试人员提供一个简单的注册页面。 |
ScreenshotFramer | ★625 | 使用 Screenshot Framer,您可以轻松创建美观且本地化的 App Store 截图。 |
ios-auto-replace-package | ★47 | iOS自动打包脚本,并实现图片素材、文字资源、部分代码的替换和重签名,基于python实现。 |
Appfigurate | ★8 | Appfigurate 是面向 iOS 和 watchOS 开发人员和测试人员的一套工具,可让您在运行时安全地配置应用程序和应用程序扩展。 |
操作辅助框架
地址 | Stars/Siwft | 简介 |
---|---|---|
Capable | ★139 / Y | 跟踪可访问性功能,以便为某些残疾人事改进您的应用程序。 |
App Store/Apple 应用商店/上架
App Store 被拒原因/检查清单
中文资料:
- App Store 审核指南 - App Store 中文审核指南,苹果官方出的。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Solve-App-Store-Review-Problemm | ★3k | (ipv6,ipv6被拒绝,后台定位等审核问题的终极解决方案汇总). |
苹果AppStore被拒理由大全 | ★512 |
英文资料:
- Apple's Common App Rejections Styleguide - 列举了应用被拒的常见问题,苹果官方出的。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
App Store Checklist | ★26 | 在提交到 APP Store 之前的检查项清单。 |
App Store 相关工具/框架
- Free App Store Optimization Tool - 可以根据关键字和竞争对手应用名跟踪应用在 App Store 的可见性。
- Average App Store Review Times - 这个网站可以同时跟踪 AppStore 上 iOS 和 Mac 两个版本的浏览次数,使用了利用 iOS 和 Mac 开发者的众包数据。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
appirater | ★4.7k | 一个工具用于提供用户给应用打分。 |
Siren | ★3.5k / Y | 当有新版本的应用程序可用时通知用户,并提示他们升级。 |
Harpy | ★2.6k | 当应用程序有更新时,可以通过 App Store 连接通知用户。 |
iVersion | ★2k | 提示版本更新 |
App Release Checklist | ★781 | 一个应用上线前的测试清单。 |
AppVersion | ★13 | 让用户使用应用的最新版本。 |
Appstore Review Guidelines | ★10 | 在将您的应用程序提交到 Appstore 之前,必须要检测的清单。 |
Xcode
Xcode 教程
Xcode 中文教程/资料
系列教程:
文章资料:
- 30分钟学会iOS 11开发环境xcode 9图文教程
- macOS开发入门之一:初识Xcode
- Xcode工程结构详解
- 《iOS 开发:深入理解 Xcode 工程结构(一)》
- iOS项目Project和Target配置详解
- Xcode快捷键大全
- 《Xcode更改快捷键方法》
- 《Xcode10制作 framework详细步骤及坑说明》
Xcode 英文教程
系列教程:
- How To: Xcode 11 Tutorial for Beginners
- Xcode 11 Tutorial For Beginners
- Xcode Tutorial For Beginners
- macOS Development for Beginners: Part 1
文章资料:
Xcode 其他文档、资料
- 《Xcode 常用编译选项设置》
- Xcode Build Settings - 一个专门介绍 XCode 编译设置的站点,内容非常全面。
Xcode 插件、扩展
- Swiftify - 一个 Objective-C 代码转 Swift 代码的在想转换器,也支持 XCode 扩展。
- RealmPlugin - 生成 Realm 模型的 Xcode 插件。
- Rephrase - Xcode 用于本地化的插件.
- 首先学习使用Xcode - 学习使用Xcode构建出色的应用程序!在Xcode启动的时候,Xcode将会寻找位于~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹中的后缀名为.xcplugin的bundle作为插件进行加载(运行其中的可执行文件)。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Chameleon | ★12.4k / Y | iOS (Obj-C & Swift)的扁平化颜色框架。★ |
Alcatraz | ★10.1k | 使用Alcatraz来管理Xcode插件 |
VVDocumenter-Xcode | ★8.5k | 方便的编写标准注释的 Xcode 插件。 |
MonkeyDev | ★4.6k | 原有iOSOpenDev的升级,非越狱插件开发集成神器! CaptainHook Tweak、Logos Tweak and Command-line Tool、Patch iOS Apps, Without Jailbreak. |
KSImageNamed-Xcode | ★4.2k | 提供了图片名称自动补全功能的插件。 |
FuzzyAutocompletePlugin | ★3.3k | 提供了除前缀匹配之外的其他更加灵活的自动补全功能,支持 Xcode 5+。 |
iOS-Universal-Framework | ★3k | iOS-Universal-Framework 是一个方便你将第三方 SDK 编译成 Framework 的开源工具。 |
ColorSense-for-Xcode | ★2.9k | 可视化的颜色选择插件。 |
XAlign | ★2.9k | 一个 Xcode 代码自动对齐插件,它可以使用自定义的模式来对齐任何东西。 |
ClangFormat-Xcode | ★2.8k | clang-format 代码格式化 |
iOS-Framework | ★2.6k | 编译iOS的Framework的通用模板 |
RTImageAssets | ★2.5k | 自动生成所需的全部 App 图标的插件。 |
Cocoapods Xcode Plugin | ★2.4k | 依赖管理工具 CocoaPods 的 Xcode 插件。 |
XVim2 | ★1.9k | XVim2 是 Xcode 的 Vim 插件, 旨在不放弃任何 Xcode 功能的情况下提供 Vim 体验。 |
XToDo | ★1.6k | 一个显示项目中 TODO,FIXME,??? 和 !!! 列表的对话框。 |
xTextHandler | ★1.5k | Xcode Source 编辑器的一个扩展, 支持文本多行选择,支持多个类型的插件,支持剪贴板文本(当没有选择文本,处理剪贴板文本),提供基于正则表达式的匹配。 |
Lin | ★1.2k | 这个插件提供了 NSLocalizedString 的自动补全插件。 |
BBUncrustifyPlugin-Xcode | ★1.2k | 使用 ClangFormat 或 Uncrustify 格式化代码的插件。 |
XCActionBar | ★1.2k | Xcode 的 Alfred。 |
Polychromatic | ★1.1k | 为不同的变量类型赋予不同的颜色 |
SCXcodeMiniMap | ★1k | SCXcodeMiniMap 为 Xcode 添加了代码地图功能 |
GitDiff | ★904 | 将与 git 仓库中不同的代码高亮。 |
XcodeBoost | ★830 | XcodeBoost 是一款可以让开发者轻而易举地检查和修改 Objective-C 代码的插件。XcodeBoost 能够自动进行一些繁琐的操作,比如方法的定义与声明、添加基于命令行的代码处理(剪切/复制/粘贴/重复/删除行)、持续高亮等。 |
KFCocoaPodsPlugin | ★814 | Xcode插件 cocoapod, 方便编辑Podfile,显示构建日志 |
Import | ★812 | 一个 Xcode 扩展,可以在编辑代码时 import 模块。 |
Peckham | ★722 | 使用 #import 引用项目中的任何文件,提供代码提示。 |
SwiftInitializerGenerator | ★713 / Y | Xcode 8 源码编辑器的一个扩展,可以根据选择的属性自动生成构造函数,基于 Swift。 |
CATweaker | ★708 | 一个用于创建漂亮的 CAMediaTimingFunction 曲线的插件. |
HOStringSense-for-Xcode | ★694 | 有图,点进去一看就明白了,代码编辑器里的字符串编辑器,粘贴大段 HTML 字符串之类的很方便,自动转义。 |
BBUDebuggerTuckAway | ★687 | 当你开始编辑的时候帮你隐藏调试器栏的 Xcode 插件。 |
SCXcodeSwitchExpander | ★661 | SCXcodeSwitchExpander 是一个可以帮你展开 switch 语句的插件,还会自动帮你插入 case 语句。 |
MCLog | ★598 | 用于控制台内容筛选的插件。 |
ZLGotoSandboxPlugin | ★572 | 支持Xcode快捷键了跳转当前应用沙盒了!快捷键是 Shift+Common+w。 |
XcodeWay | ★495 | 便捷地导航到多个地方。 |
Backlight-for-XCode | ★422 | 高亮当前编辑的行。 |
KPRunEverywhereXcodePlugin | ★325 | 只需一次点击,就可以在多个 iOS 设备上构建,运行 App。 |
AdjustFontSize | ★279 | 使用 ⌘ + / ⌘ - 快捷键调整字体大小。 |
Reveal-In-GitHub | ★259 | 用一个快捷键就可以跳转到 GitHub 仓库的 History, Blame, PRs, Issues, Notifications。 |
Show in Github | ★243 | 可以直接打开 Github 上当前正在编辑的行对应的 commit 页面。 |
BBUFullIssueNavigator | ★239 | 这个插件让 Xcode 在 issue 导航栏显示所有的 issue 内容。 |
MLAutoReplace | ★238 | 快速编码以及代码格式化插件,提升你的编码速度。 |
RPAXU | ★236 | 每当 Xcode 升级之后,都会导致原有的 Xcode 插件不能使用,这是因为每个插件的 Info.plist 中记录了该插件兼容的 Xcode 版本的DVTPlugInCompatibilityUUID,而每个版本的 Xcode 的 DVTPlugInCompatibilityUUID 都是不同的。如果想让原来的插件继续工作,我们就得将新版 Xcode 的 DVTPlugInCompatibilityUUID 加入到每一个插件的 Info 文件中,手动添加的话比较费时间还可能出错,所以作者写了一个脚本来做这件事。 |
RevealPlugin | ★235 | 将 Reveal App 和你的项目自动合为一体的 Xcode 插件。 |
CleanClosureXcode | ★186 | Xcode 源代码编辑器扩展,用于清除闭包语法。 |
XcodeEquatableGenerator | ★184 / Y | 针对 Xcode 8 源码编辑器的扩展, 可以根据所选字段生成实现 Swift Equatable 协议的代码。 |
Luft | ★180 | 帮助你实现轻量的 View Controller 的 Xcode 插件。 |
CopyIssue | ★178 | 使复制 Xcode issuse 描述更简单。 |
Mark | ★155 | 用于生成 //MARK 标记注释的 Xcode 扩展。 |
Comment Spell Checker | ★150 | 用于拼写检查和自动更正代码注释的 Xcode 扩展。 |
tween-o-matic | ★139 | 编辑CAMediaTimingFunction动画曲线 |
XCSnippetr | ★99 | 直接上传代码片段到 Slack 和 Gist 的 Xcode 插件。 |
Snowonder | ★96 / Y | Snowonder 是 Xcode 扩展,它为 import 声明添加了一些方便的格式化操作,比如任意位置导入、重复引入过滤、按字母排序、支持 Objective-C 和 Swift。 |
CleanHeaders-Xcode | ★92 | 类似 iSort 的头文件排序和重复消除插件,让你的头文件看起来更加有序。 |
AutoHighlightSymbol | ★81 | 高亮被选中的符号对应的所有实例。 |
XShared | ★76 | 一个可用于分享代码的 XCode 插件,可以通过 copy 方式将代码分享到 Slack 或 Telegram。 |
XGist | ★74 | Xcode 扩展,允许您将一选文本或整个文件发送到 GitHub的Gist,并自动将 Gist URL 复制到剪贴板中。不过对于有数据安全比较重视的企业慎用。 |
JumpMarks | ★59 | 使用有序的书签为你的代码做导航。 |
nef | ★41 / Y | 该项目可以直接在 IDE 中集成一些 nef 特性,可以直接在 Xcode 中导出选中代码。 |
QuickJump | ★35 | Xcode 快速代码导航。 |
DocumenterXcode | ★24 / Y | Xcode 源代码编辑器的扩展,它可以帮助您更轻松地编写文档注释,支持 Objective-C 和 Swift。 |
解析和操作Xcode工程文件
- Xcode5 Plugins 开发简介 - 写个自己的Xcode4插件
- xTransCodelation - XCODE中英文翻译插件,提供API查询模式和网页模式,都是利用的百度翻译。另外集成了一个可以一键关闭其他所有APP的实用功能,方便开发者!目前只有30多颗星。
- CoPilot - 通过此插件, Xcode 可以协同编程了(采用 WebSocket 通讯)。如此强大的“黑工具”,不爱它能行吗.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
java2Objective-c | ★5.6k | Google公司出得java转Obje-C转换工具,转换逻辑,不转换UI。 |
XVim | ★5.2k | 支持绑定VIM快捷键 |
ESJsonFormat-Xcode | ★2.2k | 将Json格式化输出为模型的属性. |
fui | ★1.7k | Fui 可以用来查找 Xcode 项目中无用的 import 并予以删除 |
Dash-Plugin-for-Xcode | ★1.5k | |
CodePilot | ★1.3k | Code Pilot是一款在项目中快速方便地查找文件、方法和符号,Xcode 5的扩充开源插件,开发者无需鼠标进行操作。 |
KSHObjcUML | ★1k | KSHObjcUML 是一个 Objective-C 类引用关系图的 Xcode 插件. |
iconizer | ★685 / Y | Create Xcode asset catalogs swift and painless. Generate images for macOS and iOS app icons, launch images and image sets. |
UIEffectDesignerView | ★621 | iOS和OSX原生粒子系统效果图搭载QuartzCore |
Auto-Importer | ★571 | Auto-Importer是一个自动导入类对应的头文件的Xcode插件. |
SCStringsUtility | ★534 | 让你在一个清爽的界面编辑不同的语言,简单地输入/输出NSLocalizedString数据。 |
FastStub-Xcode | ★513 | 一只快速生成代码的Xcode插件,说明. |
IconMaker | ★498 | 只需要一步,自动生成不同尺寸的App icon。超级方便. |
Crayons | ★488 | Xcode调色板增强插件. |
Transformifier | ★436 | Transformifier是一款通用的交互式的3D转换调整工具,用于iOS开发。开发者可以通过它以可视化的方式变换各维度上的值,还可以把使用CATransform3D输出的代码导入自己的app中. |
ESTranslate-Xcode | ★245 | 一个快速翻译Xcode代码里面单词(我主要用于翻译句子~)的插件,快捷键:Ctrl+Shift+T. |
RegX | ★175 / Y | 专治代码强迫症的 Xcode 插件,使用 Swift 和 Objective-C 编写。其用竖向对齐特定源代码的元素,使得代码更易读和易理解。说明 ; 菜单:xcode——》Edit-》Regx 。 |
SuggestedColors | ★82 | Xcode 插件SuggestedColors,用于 IB颜色设置 辅助插件,非常好用. |
XCode 主题
地址 | Stars/Siwft | 简介 |
---|---|---|
Dracula Theme | ★12.5k | 一个深色 XCode 主题。官网 |
Xcode themes list | ★2.2k | Xcode 的彩色主题。 |
XcodeColors | ★2.2k | 设置彩色log 与 CocoaLumberjack 一起使用效果更好 |
xcode-themes | ★916 | Xcode主题 另一个主题集合 |
WWDC2016 Xcode Color Scheme | ★406 | 另一个彩色主题。 |
Solarized-Dark-for-Xcode | ★351 | 另一个 XCode 深色主题。 |
DRL Theme | ★11 | 一个柔和的 XCode 黑暗主题。 |
Xcode 其他相关工具
- Xcode Keymap for Visual Studio Code - 将常用的 Xcode 快捷键移植到 Visual Studio Code。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Synx | ★6k | 一个命令行工具,可以重新组织 XCode 工程目录,使其看起来更清爽。 |
SBShortcutMenuSimulator | ★1.8k | 模拟器中的 3D Touch 快捷键。 |
quicktype-xcode | ★1.6k / Y | 将json数据快速转换为模型类. |
XcodeSwiftSnippets | ★1.6k / Y | XcodeSwiftSnippets, 提供了很多可在 Xcode 上使用的 Swift 代码片段, 通过自动补全的方式极大的提高了开发效率. |
Swimat | ★1.2k / Y | Swimat,是一款Xcode 插件,帮你一键格式化 swift 代码. |
SwiftRewriter | ★787 / Y | Swift code formatter using SwiftSyntax. |
Drafter | ★774 / Y | 在iOS项目中自动生成类图和方法调用图 - Generate call graph in iOS project. |
Swift-VIPER-Module | ★502 / Y | 通过 VIPER 架构创建 module 的 XCode 模板,基于Swift 3 实现。 |
stylesync | ★382 / Y | A command line tool to extract shared styles from a Sketch document, and generate native code for any platform. |
Reminders | ★290 / Y | Clean Architecture. |
xcbeautify | ★230 / Y | A little beautifier tool for xcodebuild. |
awesome-xcode-scripts | ★94 | 一套为 XCode 的精选脚本列表。 |
swift-project-template | ★85 / Y | iOS Swift 项目模板。 |
ViperC | ★74 / Y | VIPER 架构的 Xcode 模板,支持 Objective-C 和 Swift。 |
Xcode Developer Disk Images | ★56 | 该存储库用于托管iOS,tvOS,watchOS的所有开发人员磁盘映像。 |
XcodeCodeSnippets | ★26 | 一组用于 iOS 开发的代码片段,包括代码和注释片段。 |
awesome-gitignore-templates | ★17 | 一套针对各种语言的 .gitignore 文件模板。 |
VIPER Module Template | ★16 | VIPER 模块的Xcode模板,用于生成 VIPER 的所有层。 |
dsnip | ★13 | 可以从 UIKit (UITableView, ...) 的协议/代理中生成代码片段的 XCode 工具。 |
sake | / Y | Sake is a Swift command line tool that helps you automate tasks in your projects. |
开发工具
一些辅助开发工具
各种辅助开发工具。
- Nomad - 一套命令行工具和库,用于发送APN,创建和分发.ipa,验证应用内购买收据等。
- Struct - 适用于 iOS/Mac 开发人员的工具,可以自动创建和管理 Xcode 项目,可以使用 YAML 或 JSON 制作项目,
- Cutter - 可以为 iOS 创建全尺寸启动图片(Splash)的在线工具,基于一个 sketch 模板文件。
- Speculid - 可以从SVG、PNG 或 JPEG文件生成图像集和应用程序图标。
- Storyboard → SwiftUI Converter - 一个 Storyboard 到 SwiftUI 的转换器,可以将
.storyboard
和.xib
转成 SwiftUI。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
infer | ★10.9k | 一个静态分析工具,适用于 Java, C 和 Objective-C,Facebook 出品。 |
Laptop | ★7.8k | 一个让Mac OS X或Linux更智能的shell脚本。官网 |
R.swift | ★7.4k / Y | 一个用户生成强类型的资源文件,如图片,单元格,序列等等, 类似于 Android 的 R 文件 |
Lona | ★7.1k / Y | Lona 用于构建设计系统,使用它们能生成跨平台 UI 代码,比如Sketch文件、图片、等等和其他工件的工具的集合。 |
Jazzy | ★6.5k / Y | Jazzy 是一个命令行实用程序,可为 Swift 或 Objective-C 项目生成文档。 |
SwiftGen | ★6.3k / Y | 一组 Swift 工具集合,用于生成 Swift 代码,如: (资源的枚举文件, storyboards, 本地化字符串和 UIColors). |
Darling | ★5.5k | 在 Linux 运行 OS X 二进制文件。官网。 |
Sourcery | ★5.3k / Y | 一个将元编程引入 Swift 的工具,使您可以通过代码生成 Swift 代码。 |
Tweaks | ★4.7k | 一种为"开发中"的 iOS 应用进行微调简便方法,有时设计稿没有出来时,就需要先动工了。 |
appledoc | ★4.1k | 一个文档生成器,针对 Objective-C 代码生成 Apple 风格的文档集合。 |
BuildTimeAnalyzer | ★3.5k / Y | 一个 Swift 构建时间分析器。 |
XcodeGen | ★3.5k / Y | 一个命令行工具,可从配置文件和文件夹结构生成 Xcode 项目。 |
FBSimulatorControl | ★3k | 一个用于管理和操作 iOS 模拟器 的macOS库 |
Peek | ★2.6k / Y | 可以在运行时检查你的 iOS 应用。Peek 5 采用全新设计和全新功能,无论您是开发人员、设计师还是 QA/tester,Peek 都可以帮助您完成开发过程的所有阶段。 |
FengNiao | ★2.5k / Y | 用户清理 XCode 中无用资源的命令行工具。 |
LifetimeTracker | ★2.2k / Y | 可以更快的查找循环应用/内容泄漏问题。 |
GroundControl | ★2k | iOS 远程配置。 |
GDPerformanceView-Swift | ★2k / Y | 在状态栏上方显示 FPS(帧率),CPU 使用率,应用程序和iOS版本,并通过代理报告FPS和CPU使用率。 |
xcbuild | ★1.9k | 一个 Xcode 兼容的 build 工具,facebook 出品,可以运行在 macOS,Linux 和 Windows系统上,编译速度更快。 |
swiftenv | ★1.8k / Y | swiftenv 允许在多个版本的 Swift 之间切换,主要受到,灵感主要来自于 pyenv。 |
Xtrace | ★1.8k | 用来跟踪 Objective-C 的类或实例方法调用,可以用来排性能问题。 |
SourceKitten | ★1.8k / Y | 一个可以和 SourceKit 交互的命令行小框架,可以解析 Swift-AST(抽象语法树),为Swift 或 Objective-C 项目提取注释文档,获取 Swift 文件的语法数据等等! |
LicensePlist | ★1.7k / Y | 可以为 iOS 程序生成所有依赖许可列表。 |
ProvisionQL | ★1.7k | 一个应用程序和配置文件文件的快速查找插件。 |
Provisioning | ★1.6k | 一个查看器插件,用于预览 .mobileprovision 文件。 |
AppDevKit | ★1.4k | AppDevKit 是一个iOS开发库,为开发人员提供了各种有用的功能,以满足日常开发需求,Yahoo 出品。 |
Laurine | ★1.3k / Y | Laurine 一个本地化代码生成器,基于 Swift. 真香! |
Natalie | ★1.2k | Storyboard 代码生成器。 |
Attabench | ★1.1k / Y | 是一个小型基准测试工具,可以将 Swift 代码性能可视化,非常直观。 |
Pecker | ★985 | CodePecker 是一个检测未使用代码的工具。 |
Traits | ★911 | 允许您修改原生 iOS 应用程序的设计和行为,而不需要重新编译。 |
iSimulator | ★852 | iSimulator 带有 GUI 的工具,用于控制模拟器并管理模拟器上安装的应用程序。 |
Blade | ★827 | 一个命令行工具,为 iOS 和 OS X 应用生成 Xcode 图片目录,全局图片和其他相关的东西。 |
pxctest | ★809 | 并行的 XCTest - 一个可以在多个 iOS模拟器上并行执行 XCTest 套件。 |
ViewMonitor | ★725 | ViewMonitor 可以准确测量视图位置。 |
Cookiecutter | ★523 / Y | 针对 Swift iOS/tvOS/watchOS/macOS 项目框架模板,已准备好 travis-ci,cocoapods,Carthage,SwiftPM 和自述文件。 |
Kin | ★514 | 您是否曾经因为 Xcode 编译失败,而造成合并失败? 那么这个工具就是你的菜,他可以分析配置文件并检测错误。 |
PlayAlways | ★507 | 可以通过 从菜单栏中创建 Xcode playground |
Realm Browser | ★502 | 一个 macOS 上的 Realm 浏览器,可以查看和修改 realm 数据库文件。 |
WatchdogInspector | ★496 / Y | 在 iOS app 的状态栏上显示当前帧率(fps) |
SuperDelegate | ★460 | – SuperDelegate 提供了一个干净的应用程序委托接口,并保护您免受应用程序生命周期中的错误的影响。 |
Plank | ★435 | 可以用来生成不可变模型对象。 |
AssetsExtractor - Assets提取工具 | ★427 | 是一款OSX平台上用于将 Assets.car或xxx.app中打包的png图片、pdf等资源重新提取出来的开发者工具。Assets.car常见于iOS/Mac/Unity等开发中的资源打包。 |
Shark | ★356 / Y | 一段 Swift 脚本,将 .xcassets 文件夹转换成类型安全的枚举值。 |
XCSwiftr | ★340 / Y | 一个 Xcode 插件,用于将 Objective-C 转换为Swift。 |
AVXCAssets-Generator | ★327 | AVXCAssets Generator 可以获取资产图像的路径,只需点击一次就可以创建 appiconset 和 imageset。 |
Duration | ★321 / Y | 一个简单的 Swift 软件包,用于测量和报告各种操作所需的时间。 |
SwiftLintXcode | ★319 / Y | 一个 Xcode 插件,用 SwiftLint 格式化代码。 |
SBConstants | ★313 | 生成一个包含了 storyboard 中所有 identifier 的常量文件。 |
Nori | ★302 | Nori 可以使用代码来设计 storyboard. |
abandoned-strings | ★296 | 一个命令行程序,可以用于检测 iOS 或 macOS 应用程序中未使用的资源字符串。 |
Transformer | ★273 | 一个在线简单易用的属性字符串在线(注意:是在线的哦,本身是基于 nodejs 实现的)创建工具, 该工具可让您直接在浏览器中设置字符串格式,然后将属性的字符串代码复制/粘贴到您的应用中。 |
fastlane-plugin-appicon | ★272 | 从主应用程序图标(一般是1024x1024)生成所需的各种尺寸图标和图标集。 |
playgroundbook | ★257 / Y | 一系列用于 Swift Playground和 Playground Books 的工具。 |
Delta | ★248 | 管理状态很难吧?Delta 旨在使其变得简单。 |
Cichlid | ★247 | 可以自动删除当前项目的 DerivedData 目录。 |
StoryboardMerge | ★234 | 一个 Xcode 工具,针对 storyboard 的差异及合并工具。 |
xcenv | ★227 | 使用 xcenv 记录和管理项目和系统的 Xcode 版本。 在多个项目上工作时,通常需要支持旧版本的Xcode。 |
Retini | ★181 | 一个超简单的视网膜 (2x, 3x) 图像转换器。 |
nef | ★162 / Y | 一组用于 Xcode Playground的 命令行工具:可让您对以 Xcode Playgrounds 形式编写的文档,可以进行编译时验证,生成 markdown 文件,可以与 Jekyll 集成以构建微站点。 |
AssetChecker 👮 | ★149 | 使您的 Assets.xcassets 文件保持干净,并在出现可疑事件时发出警告。 |
SwiftCompilationPerformanceReporter | ★147 / Y | 为 Swift 的慢编译路径自动生成报告。 |
XcodeIssueGenerator | ★144 | 可放置在运行脚本生成阶段(Run Script Build Phase)的可执行文件,该阶段可将诸如 //TODO: 或//SERIOUS: 之类的注释标记为警告或错误,以便它们显示在 Xcode 问题导航器(Xcode Issue Navigator)中。 |
SwiftKitten | ★144 / Y | 针对 Sublime Text 的一个自动补全工具,通过 SourceKitten 框架实现。 |
Zolang | ★124 / Y | Zolang 是一种编程语言,可以转换为几乎任何其他编程语言,可以在 iOS, Android 和其他工具之间共享逻辑. |
Misen | ★122 | 让 Xcode Asset Catalog 可以轻松支持脚本。 |
xib2Storyboard | ★114 | 可以将 Xcode .xib 转换成 .storyboard 文件的工具。 |
PlayNow | ★93 / Y | 一个小型应用程序,可创建空的 Swift playground 文件并使用 Xcode 打开。 |
Ecno | ★88 / Y | Ecno 是一个任务状态管理器,建立 UserDefaults 之上,基于纯 Swift 3 实现。 |
Benchmark | ★86 / Y | 一个基准测试框架,提供针对测量 Swift 代码的方法,用来记录执行时间。 |
ai2app | ★74 | 从 Adobe Illustrator 创建 AppIcon 图标集(支持格式)。 |
MBAssetsImporter | ★71 / Y | 从 Panoramio 或从 macOS 文件系统中将资产和元数据导入到 iOS 模拟器中(Swift 2.0)。 |
MKButtonStyle | ★68 | 调整button图片和标题位置的category |
xavtool | ★27 | 一个命令行实用程序,可自动增加 iOS/Android 应用程序的版本。 |
git-xcp | ★11 | 针对 Xcode 项目的一个版本流程控制 Git 插件, fastlane 的最佳伴侣。 |
SkrybaMD | ★10 | Markdown 文档生成器,如果您的团队需要简单的方法来维护文档,那么他可能就是你的菜。 |
ipanema | ★9 | ipanema 可以从.ipa 文件中分析并打印有用的信息。 |
Gluten | ★9 | 一个用于统一 XIB 及其代码的微型库。 |
命令行工具
一些优雅的工具,可帮助您创建命令行应用程序
和客户端并不是直接相关,但这正是 swift 这门语言的强大之处,不仅可以写客户端,还可以写服务端和命令行程序。
地址 | Stars/Siwft | 简介 |
---|---|---|
Marathon | ★1.9k / Y | Marathon 使得编写、运行和管理Swift脚本变得容易。 |
Commander | ★1.4k / Y | 在Swift中编写漂亮的命令行界面。 |
Swiftline | ★1.1k / Y | Swiftline是一组可帮助您创建命令行应用程序的工具。 |
Guaka | ★1.1k / Y | 最聪明,最漂亮(兼容POSIX)的Swift命令行框架。 |
SwiftShell | ★767 / Y | 一个用于shell脚本编写和运行shell命令的快速框架。 |
SourceDocs | ★237 | 从内联源代码注释生成标记文档的命令行工具。 |
ColorizeSwift | ★220 / Y | Swift的终端字符串样式。 |
ModuleInterface | ★60 / Y | 从Swift项目生成模块接口的命令行工具。 |
Crayon | ★50 | 基于表现性 api 的终端字符串样式扩展,支持 256/TrueColor. |
CommandCougar | ★47 / Y | 一个优雅的纯Swift库,用于构建命令行应用程序。 |
快速开发/开发提效工具
- STV Framework - 开发原生 iOS app 的可视化开发工具
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Playgrounds | ★2.5k / Y | Objective-C 的 Playground ,可以快速进行原型制作,让 Playground 不再是 Swift 的专利。 |
KZPlayground | ★2.5k | Objective-C 版本的 Playground。 |
MMBarricade | ★352 | MMBarricade 可用于在 iOS 应用中配置运行时的本地服务器,可以通过创建 NSURLProtocol “路障”(barricade)来实现,该“路障”可以阻止网络传出请求并将其重定向到自定义的本地响应中,而无需更改现有的网络代码。TODO 是否放在网络工具中 |
Model2App | ★108 / Y | 将 Swift 数据模型变成 CRUD(增删改查) 应用,类似于其他语言的 ORM 工具。 |
swiftmon | ★1 / Y | 当任何相关文件被更改时,swiftmon 可以重启你的 应用。 |
网站、社区、博客、资讯站等资源
中文社区
- V2EX - Swift 板块
- 开源中国社区 - 移动开发板块
- CSDN - 移动开发板块
- 51CTO - 移动开发板块
- Infoq - 移动开发板块
- Infoq - iOS 板块
- 云栖社区 - 移动开发板块
- 云+社区
- segmentfault - iOS专栏
- 掘金 - iOS板块
- SwiftGG - Swift翻译组
- CocoaChina
- 即时通讯网
- iOSRE
- ARinChina
- 游戏蛮牛
英文社区
- stackoverflow
- raywenderlich - ios
- iOS Developers Group - —iOS Google+社区
- iOS Meetup Groups - —志趣相投者聚集地
- iOS Development Quora - —Quora上的iOS开发小组
- Cocoa Lit - —Cocoa教程
- NS Screencast - —iOS开发相关小视频
- iOS Developer Tips - —iOS开发相关教程和技巧
- Clarity.fm - —付费的专家求助服务
新闻、博客等等(英文)
- BGR - 美国最大的手机新闻网站,可以了解一些前沿资讯
- iMore
- Lifehacker
- NSHipster
- Objc.io - 每隔一段时间会深度讨论一个iOS开放相关的话题
- ASCIIwwdc
- Natasha The Robot
- Apple's Swift Blog
- iOS Programming Subreddit
- iOScreator
- Mathew Sanders
- iOS Dev Nuggets
- Code Facebook
- Ohmyswift
- Natasha The Robot
- iOS Programming Subreddit
- Little Bites of Cocoa
- This Week in Swift
- Code Facebook - Facebook的iOS频道
- Hacker News - HN每天扫一扫,了解一下国外IT届比较火的事情。
- iOS Biz Weekly - — 关于iOS开发的一些链接
- Cocoa With Love - — 关于Cocoa的一切
- iOS blog - — Objective C教程
- My App Venture - — iOS App商业博客
- Subfurther - — 数字媒体性质的开发博客
- Big Nerd Rank - — 主要是详解一些代码
- iPhone Development - — 深度iOS教程
- Carbon Five Blog - — 高级
Cocoa iOS
入门
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS8-day-by-day | ★2.7k | |
iOS Developer and Designer interview | ★1.5k | 一份小型指南,用于帮助那些寻找 iOS 开发者或设计师的雇主的小指南。 |
iOS9-day-by-day | ★1.4k | |
Feeds for iOS Developer | ★95 | iOS 开发者的 RSS 资源列表。 |
iOS 资讯(英文)
- AwesomeiOS - AwesomeiOS ios 资料的方方面面,英文网站。
- iOS Goodies - iOS 新闻周报。
- raywenderlich.com Weekly - 大名鼎鼎的iOS教程网站,出了很多书,还有很多视频教程,堪称业界良心。注册后,每周都可以从 raywenderlich.com 接收新的免费教程。
- iOS Dev Tools Weekly - iOS 开发者最好的伴侣,包括网站、桌面、移动 app、以及服务端相关内容和工具,每周更新。
- iOS Trivia Weekly - 每周三会放出三个有高战 iOS 问题。
- Indie iOS Focus Weekly - 寻找最新的 iOS 资源,包括教程、技巧、工具等等,每周四更新。
- iOS Dev Weekly - 可以订阅每周精选的 iOS 资源(项目、文章、工具等)。
- Swift Weekly Brief - 一个社区驱动的 iOS 相关新闻资源,每周四免费更新。
- Server-Side Swift Weekly - 每周资讯,包含与服务器端 Swift 和跨平台开发人员工具相关的最佳资讯。
- iOS Cookies Newsletter - 关于 iOS 开发库的每周摘要(不过现在已经停止更新)
- Swift Developments - 每周精选资讯(iOS、WatchOS,AppleTV等),包括视频,工具,教程,以及资讯等,面向开 Swift 开发设计人员。
Medium 专区(英文)
- iOS App Development - 一些关于 iOS,AppleWatch 开发的小故事和小贴士。
- Swift Programming - 关于 Swift 编程语言的 blog。
- Flawless App - 针对iOS开发人员的开发,设计和营销技巧。
公众号
iOS开发by三掌柜
iOS开发
微博
中文博客/专栏
- OneV's Den
- NSHipster - 关注被忽略的 Objective-C、Swift 和 Cocoa 特性。
- I'm TualatriX
- 玉令天下的Blog
- 《Mac开发》
- 《Mac开发云集》
- 《代码行者》 - 主要面向 Mac 开发。
- 《酷走天涯》
- kemchenj
- Yuu的梦话
- 戴铭的博客 - 星光社
- Knowledge Library
- 小菜技术路
- 《M了个J》
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
中文 iOS/Mac 开发博客列表 | ★5.2k | 有一些已经失效。 |
- objcio
- CocoaPods
- CocoaPodsFeed
- RubyMotion
- nshipster
- SwiftSandbox - Swift 开源新闻, 项目和资源。
更多相关 Twitter:
地址 | Stars/Siwft | 简介 |
---|---|---|
Awesome-iOS-Twitter | ★230 | 一组iOS相关的 Twitter 资源。 |
Facebook 群组
播客
- The Ray Wenderlich Podcast
- Debug
- App Story
- iPhreaks
- Under the Radar
- Core Intuition
- Swift Playhouse
- Release Notes
- More Than Just Code
- Runtime
- Consult
- Swift Unwrapped
- Fireside Swift
- Swift by Sundell
- iDeveloper
- Mobile Couch
- iOS Bytes
书籍、资料
- it-ebooks - 可以下载IT电子书籍的网站(英文).
- allitebooks - 各种各样的IT电子书籍都可以找到(英文).
- oreilly Free Programming Ebooks - ORielly 的免费电子书,有需要的童鞋可以免费下载(英文).
- gitbook - gitbook上有很多书籍,可以看看(英文、中文).
- QDFuns - 里面也能下载一些书籍资源.
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
free-programming-books | ★150k | 免费的编程书籍索引(英文). |
coding-interview-university | ★118k | (译) Google Interview University 一套完整的学习手册帮助自己准备 Google 的面试. |
free-programming-books-zh_CN | ★66.9k | 免费的计算机编程类中文书籍. |
awesome-programming-books | ★10.9k | 经典编程书籍大全,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试等. |
其他书籍(英文)
- The Swift Programming Language by Apple
- iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass
- Programming in Objective-C by Stephen G. Kochan
- The Complete Friday Q & A: Volume 1
- Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch
- Cocoa Design Patterns
- Hello Swift! by Tanmay Bakshi with Lynn Beighley
- iOS Development with Swift by Craig Grummitt
- Anyone Can Create an App by Wendy L. Wise
- Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity
- Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra
- Core Data by Florian Kugler and Daniel Eggert
- Classic Computer Science Problems in Swift
- Swift in Depth
- The Swift Programming Language by Apple - ★
- Using Swift with Cocoa and Objective C by Apple - ★
- iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway
- Your First iOS App by Ash Furrow
- Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch
面试/找工作
英文资料:
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-interview-questions | ★34.3k | iOS 面试题列表(英文) |
Awesome iOS Interview question list | ★590 | 一个面试官/面试者指南,有很多面试问题(英文)。 |
中文资料:
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
iOS面试题整理 | ★5 | |
iOS面试 | ★1 | |
《招聘一个靠谱的 iOS》—参考答案(上) | 面试题及答案 | |
《招聘一个靠谱的 iOS》—参考答案(下) | 面试题及答案 |
移动端综合服务商
- MobTech - 出了数据统计分析之外,还有分享组件,push 组件,短信等。。
- Firebase - Analytics、数据库、通知和崩溃报告,由 Google 提供服务。 Firebase能让你的App从零到一。也就是说它可以帮助手机以及网页应用的开发者轻松构建App。通过Firebase背后负载的框架就可以简单地开发一个App,无需服务器以及基础设施。
TODO
数据分析、统计服务/SDK
主要包括:分析平台、数据统计、SDK、错误跟踪和反馈
数据分析、统计服务
国内的数据分析服务:
- MobTech - 出了数据统计之外,还有分享组件,push 组件。
国外的数据分析服务:
- Sentry - Sentry基于云托管的方式进行错误监控,可帮助所有软件团队实时发现,分类和确定错误的优先级。
- Flurry Analytics - 免费的 App 分析 API。
- Parse Analytics - 测量 App 的使用情况,跟踪 bug 等等。
- Answers by Fabric - 让你实时的洞悉用户体验。
- Liquid Analytics - 通过分析和个性化的实时反馈辨认特定的行为。
- devtodev - 提供比较全面的分析服务,可改善您的项目并节省产品开发时间。
- Bugsnag - 有免费的错误跟踪套餐, 错误报告包括有关设备,发行版,用户数据等等。
- Inapptics - 帮助你分析和可视化移动应用程序中的用户行为, 提供可视的用户行为,热图和崩溃重播功能。
- Instabug - 提供应用内反馈、错误和崩溃报告、通过用户步视频录制、屏幕批注、等操作帮你快地修复错误。
- Mixpanel - 一个高级数据分析品台。
- Localytics - 将营销和数据分析结合在一起的平台。
- Answers by Fabric - 可以实时了解人们在你的应用程序中的体验。
- Countly - 适用于 iOS 和 Android 的开源的、移动端和Web端分析的崩溃报告和推送通知平台。
- matomo - 原名叫 piwik,是 Google Analytics 的替代品,支持web端、移动端的埋点,有开源免费埋点,可以自行搭建埋点统计服务器,而不需要依赖第三方。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Matomo | ★295 | MatomoTracker 是一个iOS,tvOS 和 macOS 的 SDK,用于将应用分析数据发送到 Matomo 服务器。 |
数据分析开源工具/SDK
- MOCA Analytics - 付费的跨平台分析后台。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
ARAnalytics | ★1.8k | 抽象的分析框架,提供了聪明的 API 来跟踪事件和用户数据。 |
GoogleReporter | ★475 / Y | Easily integrate your app with Google Analytics |
Segment | ★330 | 可以轻松将分析功能集成到任何iOS应用程序。 |
Abbi | ★4 | 一个简单的SDK,用于最大化管理促销活动和转化率。 |
GTrack | Google Analytics 对 iOS 的轻量级 Objective-C 封装,并且提供了一些额外的功能。 |
iOS 非手机设备资料
手表(iWatch)开发
- Apple Watch开发教程资料汇总 - Apple Watch开发教程资料汇总。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
WatchKit-Apps | ★1.1k / Y | watch开源项目 |
awesome watchkit apps | ★232 | 关于 watchkit(手表应用) 开发的资源集合。 |
overlook | ★147 / Y | 可以监测目标目录文件改变,执行对应命令的后台及命令行工具 The Judge, Jury and Executioner for the file system. |
Stargate | ★136 / Y | 通过 iPhone 桥接实现 Mac 与 Watch 的即时通讯。Stargate 通过封装两个优秀的基础类库 MMWormhole 和 PeerKit 实现高效的通讯应用。--swift |
CircularCrownSelector | ★97 / Y | watchOS UI for a circular selection menu. |
soon | / Y | 一款倒计时 WatchKit 示例应用。作者从架构的角度,思考如何设计一款完整、通讯高效且性能又好的 WatchKit 扩展应用。 |
服务端框架
- HTTP服务器,Web框架,协程,Linux,MacOS,iOS,Apache模块,异步调用,libuv 等服务器端相关项目。*
- Noze.io - 基于事件驱动额 I/O流,也被成为 Swift 版的 Node.js。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
Vapor | ★18.8k / Y | 可运行于于 iOS,macOS 和 Ubuntu 上的 一套Swift优雅的 Web 框架。 |
Perfect | ★13.7k / Y | 服务端 Swift 框架,支持应用服务器,连机器,还有一些例子应用。. |
Kitura | ★7.4k / Y | 一个 Swift Web框架 和 以及 HTTP 服务器。 |
GCDWebServer | ★5.4k / Y | 一个 轻量级的基于 GCD HTTP服务器(包括基于web的uploader 和 WebDAV服务器),支持 Swift 。 |
CocoaHTTPServer | ★5.2k | 一个可以在 macOS 或 iOS 上运行的小型轻量级嵌入式 HTTP 服务器 |
Swifter | ★3k / Y | 一个小型 http 服务器引擎 ,基于 Swift 实现。 |
Swifton | ★2k / Y | Swifton是一个优秀的Swift on Rails 的Web Framework。 |
Swifton | ★2k / Y | 一个受到 Ruby on Rails 其他的 Swift Web 框架,可以运行在 Linux 和 macOS 上。 |
Zewo | ★1.8k / Y | 一个基于协程的 Web 轻量级应用服务器,使用 Swift 实现。 |
smoke-framework | ★1.1k / Y | 一个用Swift编程语言编写的轻量级后端服务框架。 |
Taylor | ★938 / Y | 一个轻量级的库,用于使用 Swift编写 HTTP Web 服务器。 |
blackfire | ★927 / Y | 一个基于 Node.js 和 Express 框架的快速 HTTP web 服务器,基于 Swift 实现。 |
Express | ★859 / Y | 一个用Swift编写的简单但不受限制的Web应用程序服务器。 |
SwiftServerSide-Vapor | ★578 / Y | 这是基于 Swift 4.1 和 Vapor 3 框架的 Swift 服务端开源项目。 |
swift-http | ★457 / Y | 一个用 Swift 编写 HTTP 服务器实现,可以跑在 Linux 和 macOS 上。 |
Redis | ★425 / Y | 一个纯 Swift 实现的 Redis 客户端,遵循原始的 Redis 协议,可以运行在 macOS 和 Linux 上. |
Curassow | ★399 / Y | 一个使用 pre-fork worker(预分配工作进程)的方式的 Swift HTTP 服务器。 |
Embassy | ★396 / Y | 一个超轻量的异步 HTTP 服务器库,纯 Swift 实现,可以运行在 iOS/MacOS/Linux 之上。 |
Frank | ★378 / Y | Frank 是用于在Swift中快速编写Web应用程序的 DSL 框架。 |
SwiftGD | ★330 / Y | 一个针对 libgd 的 Swift 封装。 |
Lightning | ★317 / Y | 一个 Swift 多平台 Web 及 网络框架。 |
Jobs | ★278 / Y | 一个使用 Swift 实现的后端迆调度系统。 |
swiftra | ★270 / Y | 类似 Sinatra 的DSL,可以用 Swift 开发Web应用程序。 |
NetworkObjects | ★265 / Y | 一个 Swift 后端服务框架 (纯 Swift, 也支持 Linux)。 |
SwiftQ | ★258 / Y | SwiftQ 是一个服务端的分布式任务队列。 |
PerfectTemplate | ★215 / Y | Perfect Web服务器项目模板, |
http | ★206 / Y | 基于 Swift NIO 的非阻塞、事件驱动 HTTP 封装。 |
ApacheExpress | ★168 / Y | 使用 Swift 编写 Apache 模块。 |
PersistQL | ★70 / Y | GraphQL 使 api 更加灵活。GraphQL不必对返回特定数据的端点进行硬编码,而是让客户端决定返回哪些关系和属性。PersistQL试图通过在类型系统中描述GraphQL模式并让客户机将这些模式投影到自己的类型上来创建请求。本代码用于软件工程师在此基础之上开发Web服务器及其应用。您可以直接克隆本项目进行后续开发。该项目通过SPM软件包管理器编译,并能够生成一个可以独立运行的HTTP服务器。 |
Dynamo | ★64 / Y | 一个高性能,且几乎100%支持动态内容的 Swift Web 服务器。 |
Trevi | ★47 / Y | 使用 libuv 的 Swift web HTTP 服务器框架。 |
README.zh_CN.md | / Y | Swift 语言服务器端软件框架. |
其他资源列表
其他合集资源。
- WWDC-Recap - WWDC 19 & 17 的摘要合集。
Github 资源:
地址 | Stars/Siwft | 简介 |
---|---|---|
awesome-ios | ★35k | 里面有各种各样的开源库,涉及到IOS的各个方面(本文档已涵盖) |
awesome-awesomeness | ★26.1k | 关于 Awesome 资源的 Awesome。 |
Open Source apps | ★23.6k / Y | 开源 iOS App 合集。 |
Awesome list of open source applications for macOS | ★22.7k / Y | MacOS 开源应用程序列表。 |
Marketing for Engineers | ★9.8k | 一套市场营销文章和工具的集合,用来帮助工程师运营APP。 |
iOS资源大全中文版 | ★3.8k | 内容包括:框架、组件、测试、Apple Store、SDK、XCode、网站、书籍等 |
开发实战资源整合 | ★1.4k | 一个面向全栈工程师的大杂烩,前后端,客户端都有,有部分iOS资源。 |
Top App Developers | ★1.4k / Y | iOS 顶级开发者列表。 |
ios-developer-tools | ★1k | 另一组iOS开发工具、文章,网站的大杂烩资源集合。 |
CocoaConferences | ★1k | 面向 iOS 和 macOS 开发人员的 cocoa 会议列表。 |
iOS Learning Resources | ★397 | 全面收集高质量,经常更新且维护良好的 iOS 教程网站,内容不少,但都是英文的多国内多数开发者作用不是很大,部分优质资源本文档已经收录。 |
awesome-gists | ★380 | iOS gist 资源列表 (iOS 部分). |
example-ios-apps | ★341 / Y | 一个基于 Swift 开发的开源 iOS 应用程序样例列表。 |
iOS-Playbook | ★327 | iOS应用程序的指导原则和最佳实践。 |
Awesome-iOS-Twitter | ★230 | iOS 相关的 Twitter 以及博客列表。 |
Develop-Source | ★202 | 开发资源整理:Java,Android,算法,iOS,MacOS等等 |
ClassicProblemSolvingAndDataStructuresInSwift | ★26 / Y | 针对 Swift4 中流行的算法、数据结构、和问题解决办法的资料介乎。 |
Awesome ARKit | 一份精选的 ARKit 项目和资源列表 | |
Github Trending - Swift | / Y | Github 趋势,Swift 板块。 |
Github Trending - Objective-C | Github 趋势,Objective-C 板块。 |
程序员必备工具
推荐一些可以提高生产力的工具。
- Import.io - 一个实时将网页转换为数据的在线工具。
- Tapglue - 用几行代码就能构建社交产品和活动。
- jsoncafe.com - JSON的在线模板驱动的模型类生成器。
- gitignore.io - 在线生成
.gitignore
文件。 - Json.cn - json在线格式化
- ModelEnd.com - 在线模型转换,可以将 json 转成 Objective-C、Swift、Java Bean 等模型。
- Unicode 编码转换
- Tinypng - 在线图片压缩
- Diffchecker - 在线代码比对