Swift 开源项目汇总

11,802 阅读16分钟

@[TOC](Swift 开源项目汇总)

1. 完整项目

1.1 直播类App

  1. XJ直播是一款基于Swift3.0开发的直播平台,
  2. 整个项目使用MVVM架构 + 响应式编程 + Swift3.0进行编写,主要是练习swift3.0语法以及MVVM的使用;
  3. 本项目用到了视频的采集,编码,解码等技术,采用的是目前主流的第三方框架IJKMediaFramework;
  4. 在本地利用Socket搭建一个简易的服务器,用来模拟客户端和服务器之间的交互;
  5. 项目中主要用到了图文混排、弹幕、粒子动画、自定义动画等技术。
  6. Xib、Storyboard、Storyboard Reference、自动布局高级使用。
  7. UITabbarController、UICollectionView、UIScrollView高级使用。
  8. 下载地址:pan.baidu.com/s/1pKYx8Sj 密码: jkri
  • Swift 精仿有妖气漫画:90%精仿原版有妖气漫画(登录,充值等涉及版权或者会员等功能均不作实现),使用三方框架,感谢 SnapKit, Then, Moya, HandyJSON, Kingfisher, Reusable, LLCycleScrollView, MJRefresh, MBProgressHUD, HMSegmentedControl, IQKeyboardManagerSwift, EmptyDataSet-Swift

Swift 精仿有妖气漫画

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
    image
    OC 版本:下载点击这里

1.4 电商类App

  • 单糖:良品生活指南:家居零食、礼物美妆、海淘购物。(介绍文档

单糖

爱鲜蜂

高仿小日子Swift2.0

模仿“妙汇”电商项目

Swift高仿项目,堆糖

1.5 跨平台App

1.6 工具类App

1.7 游戏类App

1.8 社交类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!

特色:

  1. 可以发送富文本,表情,图片还有声音。
  2. TSChatImageCell 中显示的图片使用 Mask Layer 进行绘制,你可以自由的切换聊天背景图,这样看上去 UI 也不会糟糕。
  3. 自定义的表情键盘,自定义的工具键盘。
  4. 录音的 wav 文件会被自动转换成 amr文件,这样可以方便和 Android 设备进行文件传输。这两种文件都已做了缓存。上传使用 amr 文件,播放使用 wav 文件。
  5. 当你点击声音 TSChatVoiceCell 的时候,它会自动检测缓存,如果没有那么会使用 Alamofire 自动进行下载。
  6. 当你发送图片的时候,系统会使用 Kingfisher 缓存机制存放在本地,上传成功后会自动修改成图片链接的 MD5 值文件名字。
  7. 数据是从 JSON 文件里面加载来的, 所有的 Model 是使用 ObjectMapper 创建的。
    image
  • 聊天应用Acani Chats: Acani Chats是一款非常简单而又优雅的聊天应用,界面清爽明了。不过,别小看这一“简单”,通过它托管在Github上的源代码,你可以学习和探索类似应用开发所必须的语法。Acani Chats支持基础性的一些事件,比如联系人头像和现代化的iOS用户界面,绝对是你着手学习开发聊天应用的一个超好的案例。
    聊天应用Acani Chats

1.9 音视频app

1.10 图像处理app

  • PixPic: 一款swift编写的图像,相册处理app
  • Surge(Swift + Accelerate):Surge基于Accelerate框架开发,用于执行矩阵数学、数字信号处理以及图像处理等方面。换句话说,它可以快速处理复杂的数学、语音以及图像信号。并且依然来自于大神级人物mattt。
  • 图片查看器SwiftFlickrApp: SwiftFlickrApp是使用Swift编写的Flickr照片查看器。你可以在单独的页面上以网格或列表的形式浏览照片,或进行缩放处理。Github上托管的源码涉及不少知识点,会给你一些如何使用 UICollectionView和AFNetworking的见解和看法。

1.11 生活助手类app

花田小憩3.0.1

1.12 支付app

  • Viewfinder : 移动支付公司 Square 将去年收购的照片应用 Viewfinder 开源了,包含服务端、iOS 和 Android 应用代码

1.13 AR/VR 项目App

在这里插入图片描述

1.14 通讯录相关

  • 联系提醒应用iContactU:ContactU是一款用于提醒你联系指定人员的应用。在联系人中选择人员,设置提醒时间和内容,到了时间iContactU会提醒你,你可以直接在应用中通过邮件、短信、电话等方式联系对方。

1.15 彩票类

1.16 股票类

1.17 摄像类

1.18 阅读器类

  • Hacker News阅读器: Hacker News来自YCombinator,所以一直以来都有顶级创业者参与讨论,用户创造的内容质量也远高于其他创业者主题网站。最可贵的是Hacker News没有任何盈利企图,唯一的目的就是吸引和配有下一代创业者。而这里介绍的就是一款Hacker News阅读器,使用Swift语言编写,提供了一个不错的无缝用户界面,可以查看最新及最受喜欢的信息,并能够从中直接读取内容。

2. 网络库

基础网络框架

  1. Alamofire:著名的AFNetworking网络基础库Swift语言版

2.1 Socket

2.2 TCP/IP

2.3 Websocket

  1. 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:

  • SQL 数据库抽象层 API 库 Swift-Kuery

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 简单动画

6. UI控件

6.1 自动布局

6.2 UI 适配

6.3 UI 组件

6.3.1 UILabel自定义

6.3.2 UIButton自定义

6.3.3 UISwitch自定义

6.3.4 UIScroll自定义

6.3.5 tabbar自定义

6.3.6 UIProgress 进度条

6.3.7 UIAlert 自定义

6.3.8 图表绘制

6.3.9 下拉刷新

6.3.10 模糊效果

6.3.11 自动布局

6.3.12 富文本

6.4 UI 地图类

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项目

swift文档资料类

swift学习资料

  1. 苹果官方Swift文档《The Swift Programming Language》
  2. 苹果开发者Swift文档及介绍
  3. 网友整理的Swift中文文档《 Apple Swift编程语言入门教程中文版Apple官方Swift教程(Github协作翻译中)
  4. Apple Swift编程语言入门教程
  5. Swift语言概览中文版
  6. Swift英文文档markdown版
  7. Swift开发视频教程【入门篇】
  8. letsswift 编译的Swift中文教程
  9. Github上的Swift开源项目列表
  10. 国内第一个Swift社区
  11. SwiftGuide 很赞 的Swift学习资料