这是个精心编排的列表,它包含了优秀的 iOS 框架、库、教程、XCode 插件、组件等等。
这个列表分为以下几个部分:框架( Frameworks )、组件( Components )、测试( Testing )和其他的开源项目,免费的和付费的服务。每个部分中的项目没有先后顺序,均是按照提交的先后顺序排列的。
Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲。你可以自由添加你的项目。
【特别提示】:伯乐在线已经在 GitHub 上发起了 iOS 资源大全中文版的整理项目,链接:https://github.com/jobbole/awesome-ios-cn。欢迎收藏和扩散。
我们计划把这个列表中的主要工具资源整理出更详细的介绍,并收录到伯乐在线资源频道。如有你有兴趣参加,请从这里申请加入:http://group.jobbole.com/category/feedback/tech-res-team/
不过加入前,有几个小要求:
英文还不错,能读懂英文并用自己的话复述;
有iOS开发经验;
内容
入门
库和框架
音频
动画
Apple TV
桥接
缓存
Core Data
图表
数据库
硬件
动作
蓝牙
位置
iBeacon
HUD
事件总线( EventBus )
文件
JSON
布局
日志
地图
媒体
图片
视频
消息
网络
推送通知
Passbook
权限
文本
浏览 / 介绍 / 教程
URL Scheme
UI
Websocket
代码质量
分析
支付
产品化工具
实用工具
安全
安装项目
依赖 / 包管理
测试
测试驱动开发(TDD) / 行为驱动开发(BDD)
UI测试
Beta 测试
其他测试
工具链
工具
敏捷开发
部署
App Store
SDK
Xcode
插件
主题
其他 Xcode 相关
编码规范
一些好网站
新闻, 博客等
UIKIt 文档
论坛和讨论列表
教程和 Keynotes
原型
Facebook 群组
播客(Podcasts)
书籍
其他优秀的列表
贡献
入门
Road Map iOS– 开发 iOS 应用从今天开始,苹果指南。★
Lifehacker– 我想写一个 iOS 应用,该从哪里开始?
Codeproject– 入门 iPhone 和 iOS 应用开发。
Ray Wenderlich– 学习 iOS 应用开发。
Stanford – Developing Apps to iOS– 斯坦福在 iTunes U 上的 iOS App 开发课程(音频和视频)。
Stanford – Developing iOS 8 Apps with Swift– 斯坦福在 iTunes U 上用 Swift 开发 App 的课程(2015版)。★
库和框架
音频
AudioBus– 下一代 App 到 App 的实时音频路由。
AudioKit– 一个强大的音频合成,处理和分析的工具集。
EZAudio– 一个基于 Core Audio 的 iOS/OSX 音频可视化框架。用于实时,低延迟的音频处理和可视化功能的开发。
novocaine– 应用于 OSX 和 iOS 的高性能音频框架。
QHSpeechSynthesizerQueue– 一个AVSpeechSynthesizer(iOS文本发音) 的队列管理系统。
StreamingKit– 一个针对 OSX 和 iOS 中AudioPlayer/AudioStreamer快捷的无缝扩展。
sound-fader-ios– 一个 Swift 写的AVAudioPlayer的声音控制器 ★
动画
Pop– 一个 iOS 和 OS X 动画库,可以方便地实现由物理效果的交互。
AnimationEngine– 可以在 iOS 上方便地构建高级自定义动画。
Awesome-iOS-Animation– 一个动画项目的集合。
RZTransitions– iOS View Controller 过场动画库。
DCAnimationKit– iOS 动画集合。很简单,只需要添加流水动画。
Spring– 一个简单的 Swift iOS 动画库。
Canvas– 无需代码就可以在 Xcode 中显示动画http://canvaspod.io。
Fluent– 便捷的 Swift 动画框架。 ★
Cheetah– 便捷的 iOS 动画库,由 Swift2 编写。 ★
RadialLayer– 针对可点击元素的动画(类似于 Youtube Music)★
Apple TV
Voucher– 方便 tvOS App 通过 iOS 设备上相应的程序来认证的库。
桥接
JSPatch– JSPatch 利用 Objective-C 运行时桥接了 Objective-C 和 Javascript。你仅需引入一个小的引擎,就可以使用 JS 调用任何 Objective-C 的类。JSPatch 通常用来对 iOS App 做热修复(hotfix)。
缓存
SDURLCache– URLCache 的子类,可以为 iPhone/iPad 应用提供的本地磁盘缓存。
Awesome Cache– 让人喜爱的本地缓存 ★
mattress– iOS Web 内容的离线缓存 ★
Carlos– 简单但却灵活的缓存 ★
图表
ios-charts– 一个强大的图表框架,MPAndroidChart在 iOS 上的移植。★
JTChartView– JTChartView 是一个完全可定制的轻量级图表解决方案。
PNChart– 一个简单漂亮的图表库,Pinner 和 CoinsMan 的iOS客户端中使用了这个框架。
BEMSimpleLineGraph– 优雅的折线图框架。
JBChartView– 基于 iOS 的图表库,包含折线图和直方图。
iOSPlot– iOS 图表库。
XYPieChart– 一个有动画的饼图框架。
TEAChart– 简单易用的 iOS 图表库。包括了贡献图、时钟图、直方图。
EChart– iOS/iPhone/iPad 图表。提供了事件处理和动画支持。
FSLineChart– 一个 iOS 折线图库。
chartee– 一个为移动平台设计的图表库。
ANDLineChartView– 使用 ANDLineChartView 可以便捷的在视图类中显示有动画效果的折线图。
TWRCharts– 一个 ChartJS 的 iOS 封装。结合 Obj-C 原生代码便捷地构建有动画的图表。
Core Data
CWCoreData– 方便并发环境下 CoreData 框架开发的扩展与实用工具。
ObjectiveRecord– ActiveRecord 的 Objective-C 版本。
SSDataKit– 消除使用 CoreData 产生的样板代码。
ios-queryable– ios-queryable 是一个基于 CoreData 的 IQueryable/IEnumerable 实现。
ReactiveCoreData– ReactiveCoreData (RCD) 是一个将 CoreData 带入 ReactiveCocoa 世界的尝试。
Ensembles– 一个 CoreData 同步框架。
SLRESTfulCoreData– 根据 Objc 命名习惯,在运行时自动生成访问器,URL替换和智能属性映射。
Mogenerator– 自动生成 CoreData 代码。
HardCoreData– 不会阻塞 UI 线程的 CoreData 栈和控制器。
encrypted-core-data– 使用 SQLClipher 对 CoreData 的 SQLite 存储进行加密。
MagicalRecord– 非常优秀的 CoreData 便捷存取框架。
QueryKit– 一个简洁的类型安全的 CoreData 查询语言 ★
CoreStore– 强大的 CoreData 框架,解决了增量迁移、获取、观察等问题。★
数据库
Realm– CoreData 和 SQLite 的替代品。简洁、现代、快速。
YapDatabase– YapDatabase 是一个 iOS 和 Mac 上可扩展的数据库。
Couchbase Mobile– Couchbase,有云同步支持的移动平台上的文档存储。
FMDB– SQLite 的 Cocoa/Objective-C 封装。
Akaibu-NSUserDefaults– Swift 键/值存储,只需要一行代码就可以对 NSObject 对象进行归档。类的属性会自动映射和归档。
FCModel– 为那些喜欢直接使用 SQL 进行数据库操作的人提供的 CoreData 的替代品。
Zephyr– 轻松地通过 iCloud 同步 NSUserDefaults ★
Prephirences– Prephirences 是一个提供了有用的协议和便捷的方法来管理应用的偏好设置,配置和应用状态的 Swift 库。★
加密
AESCrypt-ObjC– 一个简单固执的 AES 加密/解密类,然而它就是可以很好的工作。
硬件
动作
MotionKit– 只需要两行或者很少的几行代码就可以从加速度传感器、陀螺仪和磁力传感器获取数据。现在 CoreMotion 让这些变得前所未有的简单。
蓝牙
Discovery– 这是个很简单的库,用来从附近的设备上发现和获取数据(即便 peer app 在后台工作)。
LGBluetooth– 基于 CoreBluetooth 的一个轻量级库,基于 block 制作。它能够让你程序中的 CoreBluetooth 相关的代码更加简洁。
PeerKit一个用于事件驱动,零配置的 Multipeer 连接应用程序的开源 Swift 框架。★
simple-share– 一个基于蓝牙 LE 共享的框架,易于实现附近设备的连接。
BluetoothKit– 使用 BLE 在 iOS/OSX 设备之间通讯的框架★
位置
IngeoSDK– 总是处于开启状态的 iOS 位置显示框架。
Proxitee– 允许开发者利用 iBeacons 和地理围栏创建近场感知的应用。
LocationManager– 实现了一次性或者持续请求当前位置的功能,提供了基于 block 的异步 API。
LocationKit– 高级位置 SDK - 只使用很少的电量和上下文相关的位置信息就可以提供高精确度的位置数据。
iBeacon
Proxitee– 允许开发者利用 iBeacons 和地理围栏创建近场感知的应用。
OWUProximityManager– 一个方便的 iBeacon + CoreBluetooth 管理器。
Vicinity– 复制邻近的 iBeacons (通过分析RSSI),并支持在后台广播和检测 BLE 设备。
BeaconEmitter– 把你的 Mac 变成一个 iBeacon。
OWUProximityManager– iBeacons + CoreBluetooth.
HUD
MBProgressHUD– 用于显示一个半透明的 HUD。当任务在后台线程结束时可以在上边显示一个指示器和/或者标签。
SVProgressHUD– 一个为你的 iOS 应用制作的简洁,轻量级的进度指示 HUD。
ProgressHUD– ProgressHUD 是一个轻量易用的 HUD。
M13ProgressSuite– 一个包含了很多 iOS 上用于显示进度信息工具的套装。
JHProgressHUD– 一个简单轻量的 Swift 框架,用于在 iOS 应用中显示★
PKHUD– 用 Swift 重新实现了 Apple 的原生 HUD,支持 iOS 8 以上★
CozyLoadingActivity– 轻量的载入动作指示 HUD ★
事件总线
Caravel– 用于 UIWebView 和 JS 的 Swift 事件总线。★
SwiftEventBus– 一个真对 iOS 8 优化的发布/订阅事件总线。★
PromiseKit– iOS 和 OS X 上的 Promises 实现。
Bolts– Bolts 是一个试图使构建移动应用更简单的一个底层库集合。包括了任务(promises)和应用关联(deep links)。
SwiftTask– Swift 实现的 Promise + progress + pause + cancel + retry。 ★