2017 33 款iOS开源库
IGListKit
https://github.com/Instagram/IGListKit
由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。
此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。可查看 Ray Wenderlich 上的关于在你的项目中实现该库的教程,或者从 Rodrigo Cavalcante 中看看关于将现有的 UITableView 迁移到 IGListCollectionView 的方法。
Realm
https://github.com/realm/realm-cocoa
Realm 是一款移动数据库,可直接运行在手机、平板电脑和可穿戴设备中,它不仅适用于 iOS。
如果你想尝试与 Core Data 不同的东西,可以试试使用 Realm 。许多人说,它是一种现代化的、高效率的用于原生苹果解决方案的替代物。
Moya
https://github.com/Moya/Moya
Moya 是你的应用程序所缺少的网络层。你不用思考将网络请求放到哪里(以及如何放),Moya 会帮你处理这些问题。
SwiftyJSON
https://github.com/SwiftyJSON/SwiftyJSON
Swift 中的 JSON 解析之王。
将下面内容:
转换为这种格式:
可选封装会自动为你完成。
Valet
https://github.com/square/Valet
Valet 可以帮助你实现将数据安全地存储在 iOS 或 OS X Keychain 中,而无需了解任何 Keychain 相关的工作原理。它支持在单个设备上的多个应用程序(同一开发者)之间共享数据,并在具有 iCloud 的设备上的实现跨设备的数据共享。它还支持 Touch ID。
Firebase Analytics
https://firebase.google.com/docs/analytics/ios/start
它(由 Google 出品)可能是 iOS 上最好的免费分析解决方案。包括跟踪应用程序使用量、用户活跃度,以及事件;设置用户属性;创建自定义受众;和一些其他功能。
AsyncDisplayKit
https://github.com/facebook/AsyncDisplayKit
Facebook 为他们的 app Paper创造了这个异步 UI SDK。如果你想让你的 app 总是每秒用 60 帧的速度来渲染,一定要看看这个库。 这儿有一篇来自 Buffer 团队的故事。
DZNEmptyDataSet
https://github.com/dzenbot/DZNEmptyDataSet
通常用户安装一个 APP 后,会看到一个空的 UITableView 。DZNEmptyDataSet 可以通过提供默认的 Empty Data Set Pattern 的实现来回避这个问题。
Chameleon
https://github.com/ViccAlexander/Chameleon
Chameleon 是一个轻量却功能强大的 iOS 颜色框架软件。它基于的理念是:软件应用程序应该可以不费力气且同时保持多个漂亮的界面。
使用 Chameleon ,你不再需要调配 RGB 值,不用浪费时间去找你的 APP 合适的颜色组合,也不用担心你 APP 的文字是否能在不同背景色上可读。
PermissionScope
https://github.com/nickoneill/PermissionScope
PermissionScope 是一个用于智能请求用户权限的 Swift 框架。 它不仅包含一个简单的用户界面来请求权限,还包含一个统一的许可 API ,可以告诉你任何指定的系统权限的状态或轻松地对它们发起请求。
FileKit
https://github.com/nvzqz/FileKit
FileKit 是一个 Swift 框架,提供简单而富有表现力的文件管理。使用示例:http://github.com/nvzqz/FileKit#paths
SwiftyUserDefaults
https://github.com/radex/SwiftyUserDefaults
SwiftyUserDefaults 让 user defaults 用起来很愉悦,通过结合极具表现力的 Swifty API 和静态输入的优势。在一个地方定义键,轻松地使用值类型,并免费获得额外的安全性和方便的编译时检查。
Kingfisher
https://github.com/onevcat/Kingfisher
Kingfisher 是一款轻量级的纯 Swift 库,用于从 Web 上异步下载和缓存图像。
特性
- 异步图像下载和缓存
- 基于 URLSession 的网络。提供基本图像处理器和滤镜。
- 用于内存和磁盘的多层缓存。
- 可取消下载和任务处理以提高性能。
- 组件独立。可按需分别使用下载器或缓存系统。
- 预先获取图像并在必要时将其从缓存中显示出来。
- 包含 UIImageView、NSImage和UIButton扩展,可直接从 URL 设置图像。
- 设置图像时可内置过渡动画。
- 可扩展的图像处理和图像格式支持。
Hero
https://github.com/lkzhao/Hero
Hero 是构建 iOS 视图控制器过渡动画的库。它在 UIKit 繁琐的过渡动画 API 之上提供了一个层,使得自定义过渡动画对于开发人员来说是一个轻松的任务。
Hedwig
https://github.com/onevcat/Hedwig
Hedwig 是一个 Swift 包,提供一组高级 API,可以让你轻松地发送电子邮件到 SMTP 服务器。如果你打算在下一个神奇的 Swift 服务器应用里发送电子邮件,Hedwig 可能是一个不错的选择。
特性
- 支持通过普通、SSL 或 TLS(STARTTLS)端口连接到所有的 SMTP 服务器。
- 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 进行认证。
- 支持使用 HTML 正文和附件发送电子邮件。
- 支持自定义验证方法和邮件标题,以跟踪你的邮件活动。
- 支持邮件按序发送,甚至可以同时发送邮件。
- 支持 Swift Package Manager。
- 完善的测试和文档。
DeviceKit
https://github.com/dennisweissmann/DeviceKit
DeviceKit 是 UIDevice 的值类型替换。可轻松获取设备的信息和电池电量。
特性
- 设备识别
- 设备系列检测
- 设备组检测
- 模拟器检测
- 电池状态
- 电池电量
- Equatable
Charts
https://github.com/danielgindi/Charts
漂亮的曲线图、饼状图、柱状图、散点图、气泡图、雷达图,更多的图形都在 charts 库里。
MGSwipeTableCell
https://github.com/MortimerGoro/MGSwipeTableCell
一个易于使用的 UITableViewCell 子类,可展示多种过渡方式的可滑动按钮。
RandomKit
https://github.com/nvzqz/RandomKit
简单易用的随机数据生成器。
ResponseDetective
https://github.com/netguru/ResponseDetective
ResponseDetective 是一个非侵入式框架,在调试时用于拦截应用程序和服务器之间的任何的传出请求和传入响应,以进行调试。
Onboard
https://github.com/mamaral/Onboard
仅需添加几行代码,即可轻松创建一个美丽和吸引人的载入体验。
Quick + Nimble
https://github.com/Quick/Nimble
Quick 是一款专门用于 iOS 应用开发的开源行为驱动开发(BDD)测试框架,支持 Swift 和 Objective-C ,一般配合匹配框架 Nimble 使用。
Natalie
https://github.com/krzyzanowskim/Natalie
Natalie 生成基于 Storyboard 文件的 Swift 代码,使 Storyboard 和 Segue 更容易使用。生成的文件减少了用字符串作为 Segue 或 Storyboard 的标识符的情况。
RxSwift
https://github.com/ReactiveX/RxSwift
对 Swift 的响应式编程感兴趣? 那不妨试试 RxSwift 。
示例
指定 GitHub 存储库的搜索 ...
... 然后将结果绑定到你的视图表
GDPerformanceView
https://github.com/dani-gavrilov/GDPerformanceView-Swift
GDPerformanceView 可以在状态栏上方显示 FPS、CPU 使用情况以及应用版本和 iOS 版本,并通过 delegate 报告 FPS 和 CPU 使用情况。
Alamofire
https://github.com/Alamofire/Alamofire
Alamofire 是一个用 Swift 编写的 HTTP 网络库。
特性
- 链式的请求/响应方法
- URL / JSON / plist 参数编码
- 上传类型支持:文件(File )、数据(Data )、流(Stream)以及 MultipartFormData
- 支持文件下载,下载支持断点续传
- 支持使用 NSURLCredential进 行身份验证
- 支持 HTTP 响应验证
- 上传和下载进度可随进程关闭
- 支持 cURL 命令输出
- 支持动态修改和重试请求
- 支持 TLS Certificate 和 Public Key Pinning
- 网络可达性
- 文档完善
SwiftyStoreKit
https://github.com/bizz84/SwiftyStoreKit
SwiftyStoreKit 是一个轻量级的 App 内购框架,支持 iOS 8.0+、tvOS 9.0+ 和 macOS 10.10+ 。
Timepiece
https://github.com/naoty/Timepiece
直观的 Swift 日期处理库。
特征:
- 直观: Timepiece 提供了一系列辅助函数,使得日期处理更简单。
- 准确: 精确依赖于 Foundation API , - Timepiece 可以在无需深入了解的前提下辅助计算日期。
- 小: Timepiece 只有4个文件,你可以很简单的阅读其内部结构。
CryptoSwift
https://github.com/krzyzanowskim/CryptoSwift
用 Swift 实现的且用于 Swift 中的加密相关函数和辅助结构。
特点
- 易用
- 对于字符串和数据方便扩展
- 支持增量更新(流式更新)
- 支持 iOS、 macOS、AppleTV、watchOS、Linux 等系统
FSCalendar
https://github.com/WenchaoD/FSCalendar
完全可定制的 iOS 日历库,兼容 Objective-C 和 Swift 。
ImageViewer
https://github.com/MailOnline/ImageViewer
一个类似 Twitter 的图像查看器。
PromiseKit
https://github.com/mxcl/PromiseKit
PromiseKit 是对任意有 swiftc 的平台的恰当而又完整的 promises 实现,它具有卓越的 Objective-C 桥接和专门为 iOS、macOS、tvOS 以及 watchOS 的特殊化处理。
Ensembles
https://github.com/drewmccormack/ensembles
Ensemble 是一个 Objective-C 框架,支持 Swift ,扩展了 Apple 的 Core Data 框架,为 Mac OS 和 iOS 添加了点对点的同步功能。
多个 SQLite 持久存储可以通过像 iCloud 或 Dropbox 这样的文件同步平台整合在一起。该框架易于扩展,可支持任何需要在不同设备之间传输文件的服务,包括定制服务
2017 33 款iOS开源库的更多相关文章
- 33 个 2017 年必须了解的 iOS 开源库
本文翻译自Medium,原作者为Pawe? Bia?ecki 照片版权:(Unsplash/Markus Pe) 你好,iOS 开发者们!我的名字叫 Pawe?,我是一个独立 iOS 开发者,并且是 ...
- fir.im Weekly - 2017 年必须了解的 iOS 开源库
放假的脚步临近,每个人都在期待一个愉悦的春节假期.最近,@张嘉夫 分享了一篇 Medium 上的文章<33 个 2017 年必须了解的 iOS 开源库>,总结了 2016 年最棒的 iOS ...
- 27个提升效率的iOS开源库推荐
DZNEmptyDataSet(UI,空表格视图解算器) PDTSimpleCalendar(UI,drop-in日历组件) MagicalRecord(实施活跃记录模式的Core Data助手) C ...
- iOS 开源库介绍
1. Github-iOS备忘 2. iOS 第三方开源库的吐槽和备忘 3. 移动开发的后台服务支持平台 4. iOS 开源库 之 AFNetWorking 2.x 5. iOS 之 二维码 ZXin ...
- 【转】33 个 2017 年必须了解的 iOS 开源库
1.IGListKit,作者是Instagram Engineering Instagram 程序员做的,IGListKit 是数据驱动的 UICollectionView 框架,为了构建快速和可扩展 ...
- GitHub上排名前100的iOS开源库介绍(来自github)
主要对当前 GitHub 排名前 100 的项目做一个简单的简介,方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 若有任何疑问可通过微博@李锦发联系我 项目名称 项目信息 ...
- GitHub 上排名前 100 的 IOS 开源库简介
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作 ...
- 快快快!27个提升效率的iOS开源库推荐
文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...
- 快快快!27个提升效率的iOS开源库推荐(转)
CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送 ...
随机推荐
- Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.
https://blog.csdn.net/lx6101989/article/details/80334232 android studio 升级到了3.0 取消了apt 报了这个错 在最上级的bu ...
- 这篇文章讲得精彩-深入理解 Python 异步编程(上)!
可惜,二和三现在还没有出来~ ~~~~~~~~~~~~~~~~~~~~~~~~~ http://python.jobbole.com/88291/ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- [NOI2012]随机数生成器
题解: 很显然是一道矩阵优化dp 然而表示我很智障地把式子一个个带入 然后就发现了为什么会有那些部分分(大概用扩欧是70吧) 注意用矩阵计算的时候要用快速乘(当然想写高精那也随便,时间无限宽裕) 代码 ...
- Kettle学习之Spoon简单使用
kettle学习之Spoon使用 2018-08-04 10:40:01 首先介绍两个博客入门: https://blog.csdn.net/zzq900503/article/details/785 ...
- with 重写enter exit 方法
- mongodb数组操作
1.查询课程中包含math,chinese的课程 db.getCollection('student').find( { course:{$all:['math','chinese']} } ).pr ...
- git小笔记
git账号:eggsy.cao@pictureworks.biz eggsycao 1.新建文件夹,并进入,命令窗口:git init 2.提交文件 git add fileName(git add ...
- Android MediaCodec 状态(States)转换分析
*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...
- POST数据中有特殊符号导致数据丢失的解决方法
使用Ajax传送数据时,当数据中存在加号(+).连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据.分析Ajax传送数据的格式与Javascript的语法: 1. "+&q ...
- epoll惊群原因分析
考虑如下情况(实际一般不会做,这里只是举个例子): 在主线程中创建一个socket.绑定到本地端口并监听 在主线程中创建一个epoll实例(epoll_create(2)) 将监听socket添加到e ...