@[TOC](Swift 开源项目汇总)
1. 完整项目
1.1 直播类App
- XJ直播是一款基于Swift3.0开发的直播平台,
- 整个项目使用MVVM架构 + 响应式编程 + Swift3.0进行编写,主要是练习swift3.0语法以及MVVM的使用;
- 本项目用到了视频的采集,编码,解码等技术,采用的是目前主流的第三方框架IJKMediaFramework;
- 在本地利用Socket搭建一个简易的服务器,用来模拟客户端和服务器之间的交互;
- 项目中主要用到了图文混排、弹幕、粒子动画、自定义动画等技术。
- Xib、Storyboard、Storyboard Reference、自动布局高级使用。
- UITabbarController、UICollectionView、UIScrollView高级使用。
- 下载地址:pan.baidu.com/s/1pKYx8Sj 密码: jkri
- Swift 精仿有妖气漫画:90%精仿原版有妖气漫画(登录,充值等涉及版权或者会员等功能均不作实现),使用三方框架,感谢 SnapKit, Then, Moya, HandyJSON, Kingfisher, Reusable, LLCycleScrollView, MJRefresh, MBProgressHUD, HMSegmentedControl, IQKeyboardManagerSwift, EmptyDataSet-Swift
- Swift写的视频类App 逗视: 逗视是一个用 Swift 写的视频类App。
1.2 安防类App
1.3 新闻类App
- xx头条:款专注郸城老家本地生活服务APP,集信息发布、商家品牌推广、相亲交友、求职招聘、找同学、吃喝玩乐等便民信息。(简述)
- DesignerNewsApp: Simple iOS client for Designer News, by the creator of Design+Code and the team, written in Swift.
- SwiftHN: 一款新闻app. A Hacker News reader in Swift
- 糗百客户端:基于swift,用糗事百科的API简单做了一个糗百客户端,可以浏览各种段子,浏览搞笑图片,查看精彩评论等.
- 仿知乎日:用Swift实现的仿知乎日报应用
- TodayNews: 高仿今日头条swift版本。
- Swift 高仿喜马拉雅FM OC 版本:下载点击这里
1.4 电商类App
- 爱鲜蜂:比较完整的电商项目。
- 高仿小日子Swift2.0: 一款旅游类app 详细介绍
- 模仿“妙汇”电商项目: 一款比较完整的电商app
- Swift高仿项目,堆糖: 一款模仿电商的app
1.5 跨平台App
1.6 工具类App
- edhita:支持Markdown, HTML预览的文本编辑器
- firefox-ios:来自Mozilla开发团队大型纯Swift项目
- SwiftWeather:清新淡雅持续改进天气预报项目
- VPNOn:驻在通知中心内的VPN开关应用。
- WordPress-iOS:一款编辑社交app 详情简介
- eidolon:This is a core Artsy Mobile OSS project, along with Eigen, Energy, Emission and Emergence.
- Dunk: 一款图标处理阅读工具
- Charter: A Swift mailing list client for iPhone and iPad
- CVCalendar: 一款swift4编写的日历工具
- gulps: 一款swift编写的applewatch APP,lets you keep track of your daily water consumption.
- Swift写的Oakland客户端:
- 用Swift实现的iOS平台开源文本编辑器。
- 开源中国的iPhone客户端源码
- Coding官方客户端
- GitHub第三方客户端
- 天气应用Swift Weather: Swift Weather是使用Swift编写的天气应用程序,它的源码可是妥妥的强大。通过对它的学习,可以初步熟悉Swift语言,学习怎样在Swift项目中使用Cocoapods、Core Location等知识,绝对是一个让你了解更多同类应用开发细节的典范。
1.7 游戏类App
- Flappy:An implementation of Flappy Bird in Swift for iOS 8.
- swift-2048游戏:swift编写的2048游戏
- SpriteKit框架开发的FlappyBird游戏: Sprite Kit 是iOS 7开始添加的一个新内置框架,主要用于开发2D游戏。
- 开源小游戏Stick Hero Swift: 开源的小游戏,用 Swift2 + Spritekit 写的。
1.8 社交类App
- wire-ios: 一款VoIP电话app
The Wire mobile app has an architectural layer that we call sync engine . It is the client-side layer that processes all the data that is displayed in the mobile app. It handles network communication and authentication with the backend, push notifications, local caching of data, client-side business logic, signaling with the audio-video libraries, encryption and decryption (using encryption libraries from a lower level) and other bits and pieces.
- Yep: 一款轻量级社交app MVC + Rxswift编写
Yep is a nifty and lightweight social networking app, revolving around the theme of "Meeting Genius", enabling users to find experts or other learners of a particular domain. The project's architecture is easy to understand, following the common software pattern MVC, separating UI, business logic and data model. Now, let's dive into the Yep project!
- TSWeChat:仿微信:
特色:
- 可以发送富文本,表情,图片还有声音。
- TSChatImageCell 中显示的图片使用 Mask Layer 进行绘制,你可以自由的切换聊天背景图,这样看上去 UI 也不会糟糕。
- 自定义的表情键盘,自定义的工具键盘。
- 录音的 wav 文件会被自动转换成 amr文件,这样可以方便和 Android 设备进行文件传输。这两种文件都已做了缓存。上传使用 amr 文件,播放使用 wav 文件。
- 当你点击声音 TSChatVoiceCell 的时候,它会自动检测缓存,如果没有那么会使用 Alamofire 自动进行下载。
- 当你发送图片的时候,系统会使用 Kingfisher 缓存机制存放在本地,上传成功后会自动修改成图片链接的 MD5 值文件名字。
- 数据是从 JSON 文件里面加载来的, 所有的 Model 是使用 ObjectMapper 创建的。
- 聊天应用Acani Chats: Acani Chats是一款非常简单而又优雅的聊天应用,界面清爽明了。不过,别小看这一“简单”,通过它托管在Github上的源代码,你可以学习和探索类似应用开发所必须的语法。Acani Chats支持基础性的一些事件,比如联系人头像和现代化的iOS用户界面,绝对是你着手学习开发聊天应用的一个超好的案例。
1.9 音视频app
-
Swift-Radio-Pro: 一款swift5编写的收音机app
-
youtube-iOS: 一款swift3编写的视频播放app.
-
SoundCloudSwift: ReactiveCocoa 4.0 编写的在线音乐播放器。
-
百度FM : 一个在线音乐app
-
kxmovie: 用ffmpeg写的iOS视频播放器
1.10 图像处理app
- PixPic: 一款swift编写的图像,相册处理app
- Surge(Swift + Accelerate):Surge基于Accelerate框架开发,用于执行矩阵数学、数字信号处理以及图像处理等方面。换句话说,它可以快速处理复杂的数学、语音以及图像信号。并且依然来自于大神级人物mattt。
- 图片查看器SwiftFlickrApp: SwiftFlickrApp是使用Swift编写的Flickr照片查看器。你可以在单独的页面上以网格或列表的形式浏览照片,或进行缩放处理。Github上托管的源码涉及不少知识点,会给你一些如何使用 UICollectionView和AFNetworking的见解和看法。
1.11 生活助手类app
- iOS高仿:花田小憩3.0.1: 是一个植物美学生活平台
1.12 支付app
- Viewfinder : 移动支付公司 Square 将去年收购的照片应用 Viewfinder 开源了,包含服务端、iOS 和 Android 应用代码
1.13 AR/VR 项目App
- ARKit 2.0简单示例 ARKit2.0-Prototype: 使用苹果ARKit 2.0创建的简单示例。包括图像识别和跟踪、对象检测、3D扫描等。
1.14 通讯录相关
- 联系提醒应用iContactU:ContactU是一款用于提醒你联系指定人员的应用。在联系人中选择人员,设置提醒时间和内容,到了时间iContactU会提醒你,你可以直接在应用中通过邮件、短信、电话等方式联系对方。
1.15 彩票类
1.16 股票类
1.17 摄像类
1.18 阅读器类
- Hacker News阅读器: Hacker News来自YCombinator,所以一直以来都有顶级创业者参与讨论,用户创造的内容质量也远高于其他创业者主题网站。最可贵的是Hacker News没有任何盈利企图,唯一的目的就是吸引和配有下一代创业者。而这里介绍的就是一款Hacker News阅读器,使用Swift语言编写,提供了一个不错的无缝用户界面,可以查看最新及最受喜欢的信息,并能够从中直接读取内容。
2. 网络库
基础网络框架
- Alamofire:著名的AFNetworking网络基础库Swift语言版
2.1 Socket
2.2 TCP/IP
2.3 Websocket
- starscream:WebSocket客户端类库.
2.4 WebRTC
3. 数据处理
3.1 Json数据解析
- SwiftyJSON:GitHub上最为开发者认可的JSON解析类
3.2 xml数据解析
- AEXML:简单又易于的XML解析类及示例
3.3 DB存储框架
3.3.1 DB 处理框架
- SQLite.swift:纯swift实现的类型安全的SQLite3封装,简单、轻量,使用上最SQL的SQLite封装库。特点:
(1)简单的查询和参数绑定接口, (2)安全、自动类型数据访问 (3)隐式提交和回滚接口 (4)开发者友好的错误处理和调试 (5)文档完善 (6)通过广泛测试 (7)支持全文检索 (8)支持SQLCipher
-
Realm:志向代替Core Data和SQLite的移动数据库.Realm 是一个移动数据库,可运行于手机、平板和可穿戴设备之上。可以让你的应用更快速,带来难以想象的体验。其目标是为了代替 CoreData 和 SQLite 数据库。 目前支持 iOS/OS X/Android 平台,提供 Swift/Objective-C/Java 语言的 API
-
WCDB.swift : 腾讯开发的,微信使用的开源框架。非常简单易用。
-
RealmIncrementalStore.swift - RealmIncrementalStore.swift:集 Realm 数据库和 CoreData 对象模型两者优势的 Realm 数据库访问类库。
-
fluent.swift - 纯swift实现的类型安全的SQLite3封装,数据存储和JSON解析是永恒的话题。
-
swiftydb - 是一个第三方 SQLite 工具,能够大大简化数据库操作。如果你不放心 Realm,那就用 SwiftyDB 吧。使用教程、demo
-
SwiftStore - Key-Value store for Swift backed by LevelDB :large_orange_diamond:
Swift-Kuery是一个可插拔的SQL数据库驱动程序/ SDK抽象层。 其主要思想是提供一套API,能操作各种关系型数据库,目前支持PostgreSQL、SQLite、MySQL。 虽然Swift-Kuery不是对象关系映射(ORM),但它为构建ORM提供了很大的基础。 如果您不想使用特定的数据库,允许在不同数据库之间轻松切换, Swift-Kuery将会很有用。
- SQLite数据库工具包GRDB.swift: GRDB.swift是一个SQLite数据库工具包,主要用于应用程序的开发。 与SQLite.swift或FMDB相比,GRDB可以为您提供大量的胶水代码。 与Core Data或Realm相比,它可以简化您的多线程应用程序。
- Swift SQLite O-R 映射工具类库 swiftydb: swiftydb 是一个类型安全、基于协议的 SQLite 数据库工具类库,可以轻松的持久化任何对象,纯 Swift 实现。
- Swift ORM框架 SwiftyDB: SwiftyDB是一个基于SQLite数据库的ORM框架,用Swift语言编写,同时支持Objective-C语言。 其特性为:线程安全、嵌套事物、模型操作、支持迁移、使用方便。
- Swift 面向协议的 Keychain 类库 Locksmith: Locksmith 是一个强大的,面向协议的类库,用于在 Swift 中使用 Keychain 。
- 持久化类库Pantry: 可以持久化基础类型变量值的类库。
3.3.2 CoreData 处理框架
- Breeze - 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud 。
- AlecrimCoreData - Swift,更容易地访问 CoreData 对象封装类库。除了 CRUD,还提供指针定位,强大的排序、筛选,异步数据获取,以及独立线程后台存取数据。
- Graph.swift - 设计新颖、使用简单基于 Core Data 的数据驱动框架库 (作者Daniel Dahan)
- Swift 简便的 CoreData 查询类库 QueryKit: QueryKit,一种简便的类型安全的CoreData查询语言。支持Swift和Objective-C两种语言。
- CoreValue: CoreValue是Core Data的轻量级封装框架。它也包含了一些简单的抽象,便于查询,更新,保存和删除。
- SwiftRecord: 基于 Core Data 极为轻量、易用的对象持久化工具库。
- AlecrimCoreData: AlecrimCoreData 是强大而简单的 Core Data 封装框架,使用 Swift 编写,灵感来自于MagicalRecord 和 LINQ。它提供了多种功能来获取、创建、更新以及保存实体,如果需要还可以在后台线程中获取和保存实体对象。未来将会为SQLite储存类型添加iCloud支持,添加聚合和迁移方法,添加文档源码,创建单元测试以及创建示例工程等。
3.4 缓存处理
- Cache.swift - 一款简单、易用的缓存库。支持 MemoryCache, DiskCache 以及前两项组合的 MultiCache。
4. 图形处理
4.1 图片处理
- GPUImage2.swift - Swift 版基于 GPU 图像和视频处理框架库。
- ShinpuruImage - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond:
- core-image-explorer - Core Image 滤镜处理图片– swift ,Core Image 介绍
- AAFaceDetection - AAFaceDetection–swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。
- Concorde - swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。
- ZoomTransition - swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。
- AFImageHelper - swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取。
- PinterestSwift - swift,Pinterest 风格图片缩放、切换示例。
- PhotoStackView-Swift - PhotoStackView——照片叠放视图,使用说明。
- MPParallaxView - 是用 Swift 写的类似 Apple TV Parallax 效果的视图。
- SDECollectionViewAlbumTransition - 用自定义的 push 和 pop 实现了有趣的 iOS 相册翻开动画效果。
- SKPhotoBrowser.swift - swift中规中矩、实用的图片浏览类库。示例也很完整。
- Nuke.swift - 完整、强大、实用的图片管理类库。主要功能包括可定制装载,缓存,滤镜及尺寸变换。
- PagingView.swift - 注重细节的自动布局分页视图组件。
- SwViewCapture.swift - SwViewCapture.swift一个用起来还不错的iOS截图库.(支持截取所有内容, 适用于所有ScrollView组成的视图, 包括WebView)。
- Filterpedia.swift - 强大的图片滤镜库演示。
- preview-transition.swift - 通过向导式代码实现步骤,实现完整、自然流畅的图片预览及转场功能。
- CartoonEyes.swift - 前置摄像头捕获图像后,采用 Core Image 脸部识别 CIDetector 和漫画效果滤镜复合出卡通效果眼睛。
4.2 压缩
4.3 svg图片处理
4.4 统计图等绘制
4.5 gif图片处理
- gifu:高性能GIF显示类库
4.6 网络图片处理
- HanekeSwift:轻量带缓存高性能图片加载组件
- Toucan:小而美的图片变换及处理类
- DominantColor:提取图片主色示例项目
- ImageScout:最小网络代价获得图片大小及类型
5. 动画
5.1 简单动画
- BWWalkthrough:界面切换中加入灵动的动画效果
6. UI控件
6.1 自动布局
- Cartography:Swift声明Auto Layout
6.2 UI 适配
6.3 UI 组件
6.3.1 UILabel自定义
- LTMorphingLabel:特赞的文字飘入飘出效果
- FloatLabelFields:Float Label Pattern浮动标签输入效果类
6.3.2 UIButton自定义
- HamburgerButton-Menu/Close:无论设计还是代码,都进行了精雕细琢
- HamburgerButton-Menu/Back:对应博文可知,开发者动画开发经验相当丰富
6.3.3 UISwitch自定义
6.3.4 UIScroll自定义
6.3.5 tabbar自定义
- animated-tab-bar:灵动的动画标签栏类库,storyboard中使用
- AnimatedTabBar:灵动的动画标签栏类库
6.3.6 UIProgress 进度条
- KYCircularProgress:简单、实用路径可定进程条
6.3.7 UIAlert 自定义
- SweetAlert-iOS:带动画效果弹窗封装类
6.3.8 图表绘制
- PNChart-Swift:带动画效果的图表控件库
- SwiftForms:表单递交库,快速开发利器
6.3.9 下拉刷新
6.3.10 模糊效果
6.3.11 自动布局
6.3.12 富文本
6.4 UI 地图类
- whereami:通过命令行获得当前设备地理位置
- MapManager:地图及路径管理封装库
- Swift 高德地图地理位置选择Demo
7. 框架类
7.1 响应式框架
- RxSwift - RxSwift:函数响应式编程框架。
- RxPermission.swift - 通过绑定 RxSwift 实现的 RxPermission。
- Permission.swift - 统一的 API 请求 iOS 本地设备及资源权限类库。
- ReactiveAnimation - ReactiveCocoa 推出了一个叫 ReactiveAnimation 的子项目,直接用完全用 Swift 来实现了。
8. 音视频处理
8.1 音频处理
- AudioKit: 音频合成、加工及分析平台(支持 iOS、OS X、tvOS)框架库。无论其易用性,还是功能性及专业性。
8.2 视频处理
8.2.1 摄像照相视频音频处理
- CameraManager - 相机管理封装类库。看着极好用的样子—-swift。
- recordDemo.swift - 一个Swift语言实现直接可以用的录音Demo
- Swift-Radio-Pro - 集成 LastFM 的专业电台应用(基于 Swift 2.0)。
- mobileplayer-ios.swift - 很不错的高度可定制播放器项目
- Periscope-VideoViewController.swift - 简洁实用的视频快进、倒带控制视图类库。
- SkfSwiftCammer - 一个相机demo,在oc里面调用了swift。
- BMPlayer.swift - 基于 AVPlayer 使用 Swift 封装的视频播放器,方便快速集成,支持横屏、竖屏,上下滑动调节音量、屏幕亮度,左右滑动调节播放进度。
9. 工具类
9.1 “轮子”工具类
- SwiftyJSON:GitHub上最为开发者认可的JSON解析类
- Dollar.swift:Swift版Lo-Dash(或underscore)函数式工具库
- OAuthSwift:国外主流网站OAuth授权类库
- PathKit:小而美的路径管理类
- XCGLogger:功能完整的日志管理类库
- Surge:基于苹果Accelerate高性能计算框架封装库
- Async:简洁的后台执行代码封装库
- Euler:直观、简洁的数学表达式∛27÷3+∑[3,1,2]
- LocationManager:地理位置管理封装库
- Siren:当应用更新时,通知用户并提供App Store链接
- BrightFutures:漫长或复杂计算由独立线程异步来完成
- Design-Patterns:如何使用常用设计模式及示例
9.2 框架类
- AsyncDisplayKit:提供界面的高流畅性切换及更灵敏的响应
- Cartography:基于代码级的自动布局封装框架
- MMWormhole:iOS扩展与宿主应用的通讯框架
- NetworkObjects:轻量版HttpServer框架,跨平台解决方案
- ExSwift:包含一组标准类型和类的Swift扩展。
- SwiftTask:SwiftTask是用Swift编写的状态机,综合了Promise+ progress + pause + cancel,使用SwiftState( Swift 编写的优雅的状态机)。
- HanekeSwift:Haneke 是一个用 Swift 编写的轻量级iOS通用缓存,易于使用。
9.3 PDF处理
9.4 调式,测试
- Sleipnir:Sleipnir是一个适用于Swift的BDD(Behavior Driven Development)风格框架,灵感来自于Cedar(一款BDD风格的Objective-C测试框架)。核心原则:Sleipnir不依赖NSObject,是纯Swift BDD测试框架;Sleipnir不使用XCTest;有着很好的命令行输出,支持自定义测试报告,等等。
- Quick: Quick是一个适用于Swift和Objective-C的行为驱动开发测试框架。借鉴了RSpec,Specta以及Ginkgo。
9.5 函数响应式框架
- Dollar.swift:Dollar是一个Swift库,提供了有用的函数式编程辅助方法,无需扩展任何内置对象。Dollar类似于Lo-Dash或者Javascript中的Underscore。
10. 第三方框架,库
11. MVVM框架项目
11.1 RxSwift + Moya + MVVM + Realm项目
- SwiftBilibili:基于RxSwift+ReactorKit的高仿Bilibili的项目 SwiftBilibili述
swift文档资料类
swift学习资料
- 苹果官方Swift文档《The Swift Programming Language》
- 苹果开发者Swift文档及介绍
- 网友整理的Swift中文文档《 Apple Swift编程语言入门教程》中文版Apple官方Swift教程(Github协作翻译中)
- Apple Swift编程语言入门教程
- Swift语言概览中文版
- Swift英文文档markdown版
- Swift开发视频教程【入门篇】
- letsswift 编译的Swift中文教程
- Github上的Swift开源项目列表
- 国内第一个Swift社区:
- SwiftGuide 很赞 的Swift学习资料