iOS开发全套资源,从入门到全栈IOS工程师
2020-09-14 本文已影响0人
iOS弗森科
内容介绍:本内容涵盖框架、组件、测试、Apple Store、SDK、XCode、网站、书籍等。发起者来自vsouza,由jobbole提供中文编译。
文章以下内容主要是分享面经和个人的学习建议,内容涉及到很多PDF文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,需要这些文档的,直接(点击我)即可获取
入门
- 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 音频可视化框架。用于实时,低延迟的音频处理和可视化功能的开发。官网
- TheAmazingAudioEngine:是iOS音频处理框架,简单易用,能对音频进行处理。官网
- 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
桥接
- 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 的图表库,包含折线图和直方图。官网
- 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 加密/解密类,然而它就是可以很好的工作。官网
硬件动作
蓝牙
- 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。 ★官网
文件
JSON
- JSONKit:Objective-C JSON 工具。官网
- TouchJSON:一个 Objective-C 的 JSON 框架。官网
- JSON-Framework:这个框架用 Objective-C 实现了一个严格的 JSON 解释器和生成器。官网
- Mantle:面向 Cocoa 和 Cocoa Touch 的模型框架 Model 。官网
- Groot:实现呃 JSON 字典或者数组和 Core Data Mangement 对象之间的转换。官网
- KZPropertyMapper:以最少的代码实现数据映射和验证。官网
- JSONModel:神奇的基于 JSON 的数据模型化框架。创建了一系列敏捷便利,自动并且智能的模型类。官网
- SwiftyJSON:使用 Swift 处理 JSON 数据的好方法。★官网
- FastEasyMapping:快速地序列化和反序列化 JSON 数据。官网
- OCMapper:Objective-C & Swift 通用的快速 JSON 模型转化框架。 ★官网
- ObjectMapper:在模型对象(包括 class 和 struct)和 JSON 之间转换的 Swift 框架。★官网
- JASON:性能优秀操作便捷的 JSON 解析。★官网
- Gloss:一个 Swift 写的 JSON 解析库。★官网
- Cereal:Swift 对象序列化 ★官网
- SwiftyJSONAccelerator:使用 SwiftyJSON 或者 ObjectMapper 根据 JSON 生成 Swift 模型。支持 NSCoding 并且提供了使用 JSON 来表示模型的方法。★官网
布局
- ios-flexboxkit:一个封装了 Flexbox 布局的简单 UIKit 扩展。官网
- Masonry:利用简单的,链式的语法发挥出自动布局 NSLayoutConstraints 的强大功能。官网
- FLKAutoLayout:让使用代码做约束更加简便的 UIView 类别。官网
- Façade:可编程的视图布局,一个 autolayout 的替代品。官网
- PureLayout:终极的 iOS 和 OS X 上的 Autolayout API,极其简单又异常强大。同时适用于 Objective-C 和 Swift。官网
- SnapKit:一个 iOS 和 OS X 的 Swift Autolayout 领域专用语言(DSL)。★官网
- Cartography:一个 Swift 编写的声明式 Auto Layout 领域专用语言(DSL)。★官网
- AutoLayoutPlus:给 Auto Layout 加的一点料,由 Swift 驱动。 ★官网
日志
- CleanroomLogger:一个基于 Swift 可配置可扩展的日志 API,简洁、轻量并且高效。★官网
- CocoaLumberjack:一个快捷强大灵活的日志框架,可用于 iOS & Mac。官网
- NSLogger:一个高性能的日志工具,它可以显示运行在 OS X、iOS 和 Android 上客户端应用的踪迹。官网
- Aardvark:一个高性能日志框架,它使得创建可操作的 bug 报告变得非常简单。官网
- BlockTypeDescription:在日志记录 block 的时候显示类型签名。官网
- QorumLogs:为 Xcode 和 Google Docs 设计的 Swift 日志工具。★官网
地图
- Route-me:iOS 开源地图框架官网
- NAMapKit:允许你在 iPhone 应用使用自定义地图,并尝试模仿 Mapkit 框架的一些行为。官网
- Mapbox GL:一个 iOS 上使用 OpenGL 渲染 Mapbox 矢量地图块的框架。官网
- CMMapLauncher:用于 iOS 中在各种地图应用中显示方向的便捷框架。官网
- 百度地图iOS SDK:一套功能丰富的地图开发工具包。官网
- 百度鹰眼轨迹iOS SDK:一套能够进行绑路纠偏的轨迹开发工具包。官网
媒体
图片
- GPU Image:一个基于 GPU 的 iOS 开源的图像和视频处理框架。官网
- UIImage DSP:iOS UIImage 处理功能,它使用 vDSP/Accelerate 框架来提高速度。官网
- QR Code Scanner:二维码扫描器。官网
- AsyncImageView:UIImageView 的异步图像加载和显示扩展,不会阻塞 UI 线程。官网
- SDWebImage:异步的图像下载器,提供了缓存支持。以 UIImageView 类别的方式提供。官网
- DFImageManager:从多种数据源获取图像的现代框架。无需配置,并具有高度的可定制性和扩展性。使用了 NSURLSession。官网
- MapleBacon:一个 Swift iOS 图像下载和缓存库 ★官网
- NYTPhotoViewer:抽屉菜单和照片查看器。官网
- IDMPhotoBrowser:图片浏览器/查看器。官网
- JTSImageViewController:iOS 交互式图片浏览器。官网
- Concorde:下载和解码连续的 JPEG 图像。官网
- SCRecorder:类似 Vine 的点击拍摄,动画过滤器,慢镜头,片段编辑相机引擎。官网
- HanekeSwift:一个 Swift 编写的 iOS 平台的轻量级通用缓存框架,还有对图像的更多支持。★官网
- TOCropViewController:一个可以允许用户修改 UIImage 对象的视图控制器。官网
- YXTMotionView:一个自定义的图片视图,它实现了依靠设备运动来滚动图片。官网
- PINRemoteImage:一个线程安全、高性能、特性丰富的图像获取器。官网
- SABlurImageView:可以轻松地为图片添加模糊动画效果。★官网
- FastImageCache:在滚动时快速显示图片的 iOS 框架。官网
- BKAsciiImage:将图片渲染为 ASCII art 的库。官网
- YLGIFImage:异步的 GIF 图像解码和图片浏览器。支持 GIF 图动画,但只消耗少量的内存。官网
- AlamofireImage:一个为 Alamofire 制作的图像组件库。★官网
- Nuke:高级的图片管理框架。★官网
- FlagKit:供 app 和 web 页面上使用的漂亮旗标。★官网
- YYWebImage:异步图像加载框架(支持 WebP,APNG,GIF 格式)。官网
- EFQRCode:一个纯 Swift 开发的艺术二维码生成库。★官网
视频
消息
- LayerKit:一个对于 Layer 的 iOS 开发组件,。是将消息(文字,照片,视频,数据)添加到移动或 Web 应用中最简单的解决方案。官网
- Twilio:驱动着现代的交流方式,构建下一代音频与 SMS 应用。官网
- Plivo:SMS API、音频 API 和 全球运营商。官网
- XMPPFramework:一个 iOS 和 Mac 上的 XMPP 协议通讯框架。官网
网络
- AFNetworking:一个得心应手的 iOS 和 OSX 上的网络请求框架。官网
- RestKit:RestKit 是一个 iOS Objective-C 框架,是为了让和 RESTful web 服务交互变的简单、快捷、有趣。官网
- FSNetworking:稳固的 iOS 网络库。官网
- ASIHTTPRequest:Objective-C 编写的 HTTP 网络请求库。它是对 CFNetwork 易用的封装。支持 Mac OS X 和 iPhone。官网
- Overcoat:小巧但是很强大的库,让创建一个 REST 客户端简便和有趣。官网
- ROADFramework:面向属性的 web 服务交互方式。框架有内建的 json 和 xml 请求响应序列化方法,十分方便扩展。官网
- MBNetworkMonitor:苹果
Reachability
类的现代化替代品,使用了CoreTelephony
来传达更多有关用户网络连接状况的信息。官网 - MBNetworkIndicator:提供了简单的方式在多个请求之间协调设备网络指示器。官网
- Alamofire:Alamofire 是一个 Swift 写的 HTTP 网络库,由 AFNetworking 的作者编写。★官网
- Transporter:让上传下载更便捷的小代码库。★官网
- CDZPinger:使用方便的 ICMP Ping 框架。官网
- NSRails:将客户端的对象/类映射到远程 REST API 的对象/ORM。官网
- NKMultipeer:一个建立在多重链接上的可测试的抽象。★官网
- CocoaAsyncSocket:用于 Mac 和 iOS 的异步 socket 网络库。官网
- Siesta:优雅的 RESTful 资源抽象,将状态解藕。是基于回调或者代理的网络库的替代品。★官网
- Reachability.swift:用 Swift 和闭包重新实现了苹果的 Reachablility 框架。★官网
- NetworkEye:一个 iOS 网络调试库,可以显示 App 中的 HTTP 请求和请求的相关信息。官网
推送通知
- Orbiter:在 iOS 中注册推送通知。官网
- PEM:为推送服务器自动生成 profile。官网
- Parse Push:完全免费的后台推送通知,提供了创建分段,调度甚至 A/B 测试的能力。官网
- Urban Airship:付费的推送通知后台。官网
- Growth Push:付费的推送通知。 它是在日本最受开发者喜爱的工具之一。官网
- APNS-Pusher:苹果推送通知服务的调试器。官网
Passbook
- passbook:为 Passbook 创建 pkpass 文件。官网
- Dubai:生成和预览 Passbook 的 Pass。官网
- Passkit:设计、创建并验证 Passbook 的 Pass。官网
权限
- PermissionScope:智能的 iOS 授权 UI 和 统一的 API(支持位置、通知、照片、联系人、日历、照片、麦克风、BT、进度指示、HealthKit 和 CloudKit)。★官网
- Proposer:便捷地请求用户权限(支持相机、照片、麦克风、联系人、位置)。★官网
- ICanHas:简化 iOS 用户权限请求(支持位置、推送通知、相机、联系人、日历、照片)。★官网
- VWWPermissionKit:可视化的 iOS 授权管理器。官网
- ISHPermissionKit:为 iOS 提供请求用户权限的统一方法。官网
- JLPermissions:iOS 预授权工具,开发者用它来制作询问用户是否授权的对话框,支持日历、联系人、位置、照片、备忘录、twitter、推送通知和其他需要授权的操作。官网
文本
- Twitter Text Obj:Twitter 的文本处理库的 Objective-C 实现。官网
- Nimbus:Nimbus 是一个为高级 iOS 软件设计师制作工具包。官网
- NSStringEmojize:一个将 Emoji 表情符号转换为等价的 Unicode 字串的 NSString 类别。官网
- MMMarkdown:用于将 Markdown 转换为 HTML 的 Objective-C 静态库。官网
- DTCoreText:利用 CoreText 使用 HTML 代码的方法。官网
- DTRichTextEditor:一个 iOS 的富文本编辑器。官网
- NBEmojiSearchView:一个支持搜索并且可以集成到文本控件中的 emoji 下拉列表视图。官网
- ios-fontawesome:NSString + FontAwesome。官网
- Pluralize.swift:强大的 Swift String 单数转换复数扩展。★官网
- RichEditorView:RichEditorView 是一个简单、模块化的富文本编辑器视图。★官网
- Money:为与钱和现金相关工作的的 Swift 值类型。★官网
- PhoneNumberKit:用于解析,格式化和验证国际电话号码的 Swift 框架,由谷歌的 libphonenumber 库支持。★官网
- YYText:iOS 上用于显示和编辑富文本的强大文本框架。官网
功能漫游 / 介绍 / 教程
- Onboard:用一点点代码就可以创建一个漂亮的吸附效果的实践。官网
- EAIntroView:高度可定制非侵入式的欢迎页面解决方案。官网
- MYBlurIntroductionView:在 MYIntroductionView 上完善的,用于构建可定制的 app 介绍或者教程页面的框架。官网
- BWWalkthrough:一个自定义 iOS App 的功能漫游页面的框架。★官网
- GHWalkThrough:一个基于 UICollectionView 的非侵入式介绍页面组件。官网
- ICETutorial:一个很好的教程框架,类似 Path 3.X 版本的 App 中的样式。官网
- JazzHands:Jazz Hands 是一个简单的 UIKit 关键帧动画框架。动画是可以使用手势、滚动视图、KVO 或者 ReactiveCocoa 来控制的。官网
- RazzleDazzle:简单的基于关键帧的 iOS 动画框架,由 Swift 编写。最适合用于 App 的滚动介绍页面。★官网
- Instructions:向你的 iOS 项目中添加自定义的操作方式指导的简单办法。★官网
- SwiftyWalkthrough:创建一个体验绝佳的功能漫游的最简单方法,Swift 编写。★官网
URL Scheme
- WAAppRouting:iOS 的路由实现。同时处理了 URL 识别和利用控制器显示解析后的参数。全部这些只要一行代码就可以搞定,控制器堆栈还会被自动保留!官网
- DeepLinkKit:杰出的路由匹配框架,使用基于 block API 处理你的深链接。官网
- IntentKit:一个便捷的方法来在 iOS app 中处理第三方 URL schemes。官网
- JLRoutes:使用了 block API 的 iOS URL 路由框架。官网
UI
- Chameleon:一个 iOS 性能强大的轻量级扁平化颜色框架,可以用于 Objective-C 和 Swift。★官网
- ActionSheetPicker-3.0:为 iOS App 快速制作一个下拉 UIPickerView / ActionSheet 功能。官网
- FlatUIKit:适用于 iOS 的扁平化 UI 组件集合。官网
- JVFloatLabeledTextField:附有浮动标签的 UITextField 子类。官网
- SSBouncyButton:有弹性的 iOS7 样式按钮 UI 组件。官网
- BetweenKit:一个健壮的 iOS 拖拽框架。官网
- JSQMessagesViewController:一个优雅的 iOS 聊天消息 UI 库。官网
- AMSmoothAlert:一个很 cool 的 AlertView。官网
- TSMessages:在屏幕上方显示通知(比如成功、错误、警告或者消息)视图。官网
- NZAlertView:简单直观的 AlertView。类似推送通知的效果。官网
- MGSwipeTableCell:可以显示滑动按钮的 UITableViewCell 的子类,还支持多种过渡动画。官网
- ARAutocompleteTextView:subclass of 实时显示文本提示的 UITextView 的子类。完美支持 e-mail 格式。官网
- TGCameraViewController:基于 AVFoundation 的自定义相机。样式漂亮,轻量并且可以很容易地集成到 iOS 项目中。官网
- ENSwiftSideMenu:一个 Swift 写的简洁 iOS7/8 侧滑菜单。★官网
- MDCSwipeToChoose:滑动卡片来决定 "喜欢" 或者 "不喜欢" 的控件,效果类似 Tinder App。可以用于在几分钟内创建识字卡 app,图片浏览器或者其他类似应用,而不用几小时。官网
- ParallaxTableViewHeader:UITableView header 的视差滚动效果组件。官网
- JLToast:iOS 的 Toast 组件,提供了简单的接口。★官网
- SweetAlert:为 iOS 应用提供了实时动画效果的 AlertView,Swift 编写而成。★官网
- Form:JSON 驱动的列表控件。官网
- BLKFlexibleHeightBar:创建一个高度可以自动调整的 NavigationBar,类似 Facebook ,Square Cash,Safari 中的那样。官网
- NMPopUpView:用于显示浮动窗口的简单 iOS 类。支持 Swift 和 Objective-C。★官网
- SDevIconFonts:用于 Swift 的 Fontawesome, Iconic, Ionicons, Octicon。★官网
- SDevBootstrapButton:Swift 版的 Twitter Bootstrap 按钮。★官网
- SDevCircleButton:Swift 实现的圆型按钮。★官网
- SDevFlatColors:Swift 实现的扁平化颜色。★官网
- ColorArt:从图片中取出主要颜色,类似 iTunes 11 的效果。官网
- IQKeyboardManager:防止键盘滑出来遮挡住 UITextField/UITextView 的框架,非侵入,无需代码。官网
- WCFastCell:滚动流畅的 Tables/Collections cell (没有动画)。官网
- Motif:一个基于 JSON 的可定制轻量级样式表框架。官网
- VBFPopFlatButton:基于 Facebook POP制作的,有9种不同状态动画的扁平化按钮。官网
- HTPressableButton:扁平化设计的可以按压的按钮。官网
- Cool-iOS-Camera:一个完全可定制的现代的照相机,使用 AVFoundation 框架实现。官网
- AsyncDisplayKit:AsyncDisplayKit 是一个 iOS 框架,它能够使一个很复杂的用户界面保持平滑和反应灵敏。官网
- AMTagListView:一个可以添加一系列高度可定制化的标签的 UIScrollView 子类。官网
- MotionBlur:MotionBlur 让你可以在 iOS 动画效果上添加模糊效果。官网
- PBJVision:iOS 相机引擎,支持点击拍摄,慢动作视频和图片捕捉功能。官网
- DynamicColor:又一个用于操作颜色的 Swift 扩展。★官网
- GaugeKit:可定制的仪表组件,可以方便地仿制苹果样式的仪表盘。★官网
- SVWebViewController:一个非侵入式的内置浏览器。官网
- SwiftWebVC:一个 SVWebViewController 的 Swift 实现。★官网
- MVAutocompletePlaceSearchTextField:一个类似 Google Places,Uber 等位置搜索的非侵入式自动完成控件。官网
- MVMaterialView:用来模仿 Material Design 概念波纹(Ripple)效果 UI 控件的子类和 UIButton。官网
- Atlas:为 Layer 设计的原生 iOS 消息应用 UI 组件。官网
- Swift-Prompts:用来设计自定义提示的 Swift 库,有很大的范围可供选择。★官网
- IQDropDownTextField:提供了下拉 UIPickerView 支持的 UITextField。官网
- PJAlertView:苹果弃用了原来好用的警告视图,让我们失去了很多的定制性,这个库重新将定制性带回来。官网
- CZPicker:iOS 的 Popup 样式的 UIPickerView.官网
- TisprCardStack:卡片 UI 库。★官网
- YXTPageView:一个支持 UIView 和 UITableView 之间滚动切换的 PageView。官网
- DatePickerDialog:在 UIAlertView 上显示 UIDatePicker 的 Swift 库。★官网
- gifu:iOS 上支持动态 GIF 的 Swift 框架。★官网
- SAHistoryNavigationViewController:SAHistoryNavigationViewController 实现了一个在 iOS 上的类似任务管理器的 UI,兼容 UINavigationContoller,3D Touch。★官网
- DOFavoriteButton:一个可爱的动画按钮。★官网
- LNRSimpleNotifications:简单的 Swift app 内置通知。LNRSimpleNotifications 是一个 Swift TSMessages 简化版本。 ★官网
- NgKeyboardTracker:iOS 的键盘跟踪 Objective-C 库。官网
- SAInboxViewController:受到 "Inbox by google" 动画过渡效果启发的 UIViewController 子类。★官网
- TLYShyNavBar:不像那些 UINavigationBar 那么傲慢。这个 Bar 很谦虚!可以很容易地创建自动滚动的 navigation bar。官网
- BRYXBanner:Swift 的 iOS7+ 样式的下拉通知。 ★官网
- NYAlertViewController:可以自定义内容视图的 iOS AlertView,可高度自定义。官网
- HDNotificationView:使用模仿原生的通知横幅 UI,发出任何警告。官网
- MZFormSheetPresentationController:MZFormSheetPresentationController 提供了一个原生 iOS UIModalPresentationFormSheet 的替代品,添加了对 iPhone 的支持,并且可以自定义 controller 的尺寸和表单的外观。官网
- AnimatedTransitionGallery:使用 UIViewControllerAnimatedTransitioning 协议实现了自定义 iOS 7 过渡动画。官网
- iCarousel:iOS 和 Mac OS 上简单的,高度可定制化的数据驱动 3D 跑马灯。官网
- RESideMenu:受 Dribble 上的设计启发而制作的 iOS 7/8 样式的视差侧滑菜单。官网
- FontAwesomeKit:iOS 的图标字体库,现在支持 Font-Awesome,Foundation icons,Zocial 和 ionicons。官网
- Cocoa Controls:开源的 iOS 和 OS X UI 组件.官网
- ActiveLabel.swift:非侵入的 UILabel 替代品,支持 Hashtags (#), Mentions (@) 和 URL (http:// )。 ★官网
- XLForm:XLForm 是最灵活强大的 iOS 库,用来创建动态的 tableview 表单,完全适用于 Swift 和 Obj-C。官网
- RAReorderableLayout:可以拖拽放置的 UICollectionView 元素。官网
- ESTabBarController:一个允许高亮按钮和自定义按钮动作的 Tabbar 控制器。官网
- STPopup:STPopup 为 iPhone 和 iPad 提供了一个 popup 样式的 UINavigationController。官网
- HoneycombView:HoneycombView 是用来显示类似 Honyecomb 布局的 iOS UIView,由 Swift 实现。★官网
- tapkulibrary:tap + haiku = tapku, 一个精心设计的 iOS 开源框架。官网
- NVActivityIndicatorView:很好的加载动画集合。★官网
- KCJogDial:提供控制功能的 UIView,类似一个转轮控制器。★官网
- PagingMenuController:有可定制的菜单的分页视图控制器,Swift 实现。★官网
- RadialMenu:RadialMenu 是一个提供了触控的上下文菜单(类似 iOS8 中 iMessage 的录制按钮)的自定义控件。使用 Swift 和 POP 框架构建。★官网
WebSocket
- Socket Rocket:一个一致的 Objective-C WebSocket 客户端库。官网
代码质量
- KZBootstrap:一系列的脚本和注释,代码质量很差时,在编译时产生额外的错误和警告。官网
- KZAsserts:一系列的自定义断言,使用 DSL 来自动生成 NSError,允许在 Debug 时断言和在 Release 时捕获错误。官网
- PSPDFUIKitMainThreadGuard:简洁的代码片段,当 UIKit 在后台线程被使用时生成断言。官网
- Flex:一个嵌入 iOS App 的调试和探索工具。官网
- chisel:iOS app 的辅助调试工具,提供了一系列的 LLDB 命令。官网
- OCLint:静态代码分析工具,用以提高代码质量,减少瑕疵。官网
- ocstyle:Objective-C 代码风格检查器。官网
- SwiftLint:一个实验性的工具,用于强化 Swift 的代码风格和习惯。★官网
- spacecommander:像一个团队那样,提交完全格式化的 Objective-C 代码。官网
- DWURecyclingAlert:优化 UITableViewCell 的滚动流畅性。官网
- DCIntrospect:小型的 iOS 可视化调试工具库。官网
- Watchdog:一个用于记录阻塞主线程的过重任务的类。★官网
- Tailor:跨平台的 Swift 代码静态分析器,它帮助你编写更加清洁的代码,避免 bug。官网
- SwiftCop:SwiftCop 是一个很实用的格式验证库,灵感来自 Ruby On Rails 清晰的活动记录验证。★官网
分析
- Flurry Analytics:免费的 App 分析 API。官网
- Parse Analytics:测量 App 的使用情况,跟踪 bug 等等。官网
- Mixpanel:高级分析平台。官网
- Localytics:将 app 的营销和数据分析结合起来。官网
- Answers by Fabric:让你实时的洞悉用户体验。官网
- Liquid Analytics:通过分析和个性化的实时反馈辨认特定的行为。官网
- GTrack:Google Analytics 对 iOS 的轻量级 Objective-C 封装,并且提供了一些额外的功能。官网
- ARAnalytics:抽象的分析框架,提供了聪明的 API 来跟踪事件和用户数据。官网
- Segment:将分析继承进 iOS 应用中的简单方式。官网
支付
- Stripe:将 Apple Pay 支付继承到你的应用中。很适合那些缺少后台知识的开发者。官网
- Braintree:提供 5 万美金的免费支付额度,需要后台支持。官网
- Venmo:在你的应用中支持和接受通过 Venmo 的支付。官网
- Moltin:使用简单的 SDK 为应用添加 eCommerce,你可以创建一个销售产品的商店,不需要后端支持。官网
生产力
- http://Import.io:将网页即时转换为数据。官网
- Tapglue:是用很少的代码来构建社交产品和活动的 feed。官网
工具
- Underscore.m:用来操作数据的 DSL。官网
- SBConstants:生成一个包含了 storyboard 中所有 identifier 的常量文件。官网
- XExtensionItem:方便地在 iOS 应用和分享扩展至简分享数据。官网
- ReflectableEnum:Objective-C 枚举的反射。官网
- VWWPermissionKit:可视化的 iOS 权限管理器。官网
- ClusterPrePermissions:可重用的预授权工具,它可以让开发者在对话中获取系统权限之前询问用户。官网
- DateTools:简便的 Objective-C 日期和时间工具。官网
- EKAlgorithms:一些知名的计算机科学算法和数据结构的 Objective-C 实现。官网
- Tactile:安全并且更加合乎习惯的响应收拾和控件事件的方式。★官网
- Colours:这是一套与定义的颜色和颜色方法,让你的 iOS/OS X 开发更加方便。官网
- ObjectiveSugar:Ruby 风格的 ObjectiveC 附件。官网
- GroundControl:iOS 远程配置。官网
- OpinionatedC:让 Objective-C 继承更多 Smalltalk 特性。官网
- GCDKit:GCD 的 Swift 简化版。★官网
- SwiftRandom:随即数据生成器。★官网
- RandomKit:Swift 随机数据生成器。★官网
- Async:Swift 的 GCD 异步派发语法糖。★官网
- YOLOKit:让方块透过圆洞。官网
- EZSwiftExtensions:标准类型和类是如何工作的。★官网
- ChineseIDCardOCR: 利用前馈神经网络对身份证信息做OCR识别。 ★ 官网
安全
- UICKeyChainStore:UICKeyChainStore 是一个对 Keychain 的简洁封装。官网
- cocoapods-keys:一个用来存储环境和应用键值的键值存储。官网
- Valet:在 iOS 和 OS X 的 Keychain 中安全地存储数据,然而你无需知道 keychain 的具体工作细节。官网
- libextobjc:一个用于扩展 Objective-C 编程语言的 Cocoa。官网
- Locksmith:方便 Keychain 使用的强大的 Swift 面向协议库。★官网
- simple-touch:非常简单的生物识别认证服务(Touch ID)的 Swift 封装。官网
项目安装
- crafter:这是一个允许你使用自定义的领域专用语言(DSL)语法来配置你的 iOS 项目模版的命令行工具(CLI),使用简单但性能强大。官网
- liftoff:另一个用于创建 iOS 项目的 CLI。官网
- KZBootstrap:iOS 项目的 bootstrap,目的是高质量的编码。官网
- amaro:优秀的 iOS 样板。官网
- chairs:交换你的 iOS 模拟器文档。官网
- Darling:在 Linux 运行 OS X 二进制文件。官网、GitHub
依赖 / 包管理
- Cocoa Pods:CocoaPods 是一个 Objective-C 项目的依赖管理工具。它拥有成千上万个库,它们可以使你的项目更加优雅。官网
- Xcode Maven:Xcode Maven 插件,它可以将 Xcode 构建过程嵌入 Maven 的生命周期中。官网
- Gradle:Xcode 的 gradle 插件,可以使用 gradle 来构建 iOS 或者 Mac OS X 项目。官网
- Carthage:简单的分布式的 Cocoa 依赖管理器。★官网
- SWM (Swift Modules):一个类似 npm(node.js的包管理器)或者 bower(Twitter 的浏览器的包管理器) 的 Swift 项目的包/依赖管理器,无需使用 Xcode。★官网
- Alcatraz:Xcode 包管理工具.官网
- CocoaSeeds:Cocoa 的 Git 子模块替代品。官网
测试
测试驱动开发/行为驱动开发(TDD / BDD)
- Kiwi:一个用于 iOS 开发的 BDD 库。官网
- Specta:轻量级 TDD / BDD Objective-C & Cocoa 开发框架。官网
- Quick:Swift 和 Objective-C 的 BDD 框架。官网
- XcodeCoverage:Xcode 项目代码覆盖率。官网
- OHHTTPStubs:方便地为你的网络请求做存根(Stub)! 使用网络假数据测试你的 app ,你也可以自定义响应时间,响应代码和响应头!官网
- Dixie:Dixie 是一个开源的 Objective-C 测试框架。用于改变对象的行为。官网
- gh-unit:Objective-C 的测试框架。官网
- LayoutTest-iOS:一个测试视图的布局的框架,支持多种配置。官网
UI 测试
- CrashMonkey:iOS 平台的 Monkey 测试工具。官网
- appium:Appium 是一个开源自动化测试框架。用于测试原生或者混合 app。官网
- robotframework-appiumlibrary:AppiumLibrary 是一个用于 RobotFramwork 的 appium 测试框架。官网
- Cucumber:iOS BDD 框架。官网
- Kif:一个 iOS 的函数式测试框架。官网
- Subliminal:一个保守的 iOS 集成测试框架。官网
- UIAutomation:一个使用脚本在连接着的设备上测试你的用户界面元素的 JavaScript 库。官网
- ios-driver:使用 Selenium / WebDriver 测试任何 iOS 原生,混合或者移动 web 应用。官网
- Zucchini:可视化的 iOS 测试框架。官网
- Remote:在 Xcode 内部控制你的 iPhone 来做端到端的测试。官网
其他测试
- NaughtyKeyboard:一个危险字符串的大列表,当用户输入这些字符串使有很大的可能会造成 bug,这是一个用于在你的 iOS 设备上测试你 app 的键盘。官网
- PonyDebugger:使用 Chrome 开发者工具对你的 iOS app 进行远程网络和数据调试。官网
- ios-snapshot-test-case:使用屏幕快照的 iOS 单元测试。官网
Beta 测试版本发布
- Crashlytics:一个崩溃报告和 beta 测试服务。官网
- TestFlight Beta Testing:iTunes Connect 支持的 beta 测试服务。官网
- HockeyApp:在 HockeyApp 你可以发布你 app 的 beta 测试版本,收集实时的崩溃报告,获取用户反馈,分析测试覆盖率。官网
- boarding:即时为 TestFlight beta 测试者创建简单的注册页面。官网
工具链
- RubyMotion:RubyMotion 是一个革命性的工具链。它可以让你快速地开发和测试原生 iOS 和 OS X 应用,全部使用 Ruby 语言。官网
工具
- Shark:用于将 .xcassets 文件夹转换成一个类型安全枚举的 Swift 脚本。★官网
- R.swift:在 Swift 项目中,强类型的自动补全资源名称的工具,包括图片,单元格和 segue 的工具。★官网
- SwiftGen:一个生成 Swift 代码工具的集合(生成资源的枚举,storyboard,本地化字符串和 UIColor)。★官网
- Localize-Swift:Swift 2.0 实现在应用中切换语言的功能,帮助你的 APP 实现友好的本地化和国际化。★官网
- Blade:为 iOS 和 OS X 应用生成 Xcode 图片目录,全局图片和其他相关的东西。官网
- Retini:一个超级简单的 Retina(2x,3x)图片转换器。官网
- Provisioning:一个查看器插件,用于预览 .mobileprovision 文件。官网
- Strsync:自动翻译并且使 .strings 文件和默认语言同步。官网
- Laptop:一个让Mac OS X或Linux更智能的shell脚本。官网Github
快速开发
- KZPlayground:Objective-C 版本的 Playground。官网
- dyci:代码注入工具。官网
- injectionforxcode:代码注入,支持 Swift。官网
- MMBarricade:在运行时为 iOS app 配置本地服务器。官网
- NetworkObjects:根据你的 Core Data 模型生成 RESTful 服务器。官网
- STV Framework:开发原生 iOS app 的可视化开发工具。官网
部署
- fastlane 将所有 iOS 部署工具整合到一个工作流中。
- deliver 部署截屏,app 元数据和 AppStore app 更新,这一切只需要一个命令就可以搞定。
- snapshot 自动地创建全部语言和全部设备的屏幕截图。
App Store
- Average App Store Review Times 这个网站可以同时跟踪 AppStore 上 iOS 和 Mac 两个版本的浏览次数,使用了利用 iOS 和 Mac 开发者的众包数据。
- Apple's Common App Rejections Styleguide 一些导致 app 被苹果拒绝的重要常见问题。
- Free App Store Optimization Tool 在关键字和竞争者的角度上,让你可视化地追踪你的 App Store 数据。
SDK
官方的
- Spotify:Spotify iOS SDK。
- Facebook:Facebook iOS SDK。
- Google Analytics:Google Analytics iOS SDK。
- Paypal iOS SDK:The PayPal 移动端 SDK,可以简便地在本地应用中集成 PayPal 和 信用卡支付。
- Pocket:将东西保存到 Pocket 的 SDK。
- Tumblr:集成 Tumblr 数据到 iOS 或 OS X 应用中的库。
- Evernote:Evernote iOS SDK。
- Box:Box iOS 和 OS X SDK API。
- OneDrive:Live iOS SDK。
- Stripe:iOS and OS X Stripe 绑定框架。
- Venmo:在你的 iOS app 通过 Venmo 生成订单并且接受支付。
- AWS:Amazon Web Services iOS 移动应用 SDK。
- Zendesk:Zendesk iOS 移动应用 SDK。
- Adobe Creative SDK:Adobe creative tools 和 Creative Cloud SDK。
- Dropbox:Drop-ins 和 Dropbox Core API 的 SDK。
- Fabric by Twitter:iOS 的 Fabric Twitter Kit。
- Liquid Analytics:通过分析与实时的个性化的实时响应产生特定的行为。
- ResearchKit:ResearchKit 是一个开源的软件框架,用它可方便的构建医疗研究应用或者其他的研究项目。
- PacketZoom:PacketZoom iOS SDK。
- Primer:在可视化编辑器上方便创建定制化的登陆页,注册和登录流程的 SDK,内建了 a/b/n 测试和分析。官网
非官方
- STTwitter:为 Twitter REST API 1.1 制作的稳定,成熟,全面的 Objective-C 库。官网
- FHSTwitterEngine:为 Cocoa 开发者提供的 Twitter API。官网
- Giphy: Giphy API 的 Objective-C iOS 客户端。官网
- UberKit:Objective-C 包装的简单易用的 Uber API。官网
- InstagramKit:Instagram iOS SDK。官网
- DribbbleSDK:Dribbble iOS SDK。官网
- objectiveflickr:对象化的 Flickr, Objective-C 写的 Flickr API。官网
- DropletKit:Objective-C 包装的 DigitalOcean v2 API。官网
Xcode
插件
- FuzzyAutocompletePlugin:提供了除前缀匹配之外的其他更加灵活的自动补全功能,支持 Xcode 5+。官网
- SCXcodeMiniMap:SCXcodeMiniMap 为 Xcode 添加了代码地图功能官网
- Show in Github:可以直接打开 Github 上当前正在编辑的行对应的 commit 页面。官网
- BBUFullIssueNavigator:这个插件让 Xcode 在 issue 导航栏显示所有的 issue 内容。官网
- BBUDebuggerTuckAway:当你开始编辑的时候帮你隐藏调试器栏的 Xcode 插件。官网
- SCXcodeSwitchExpander:SCXcodeSwitchExpander 是一个可以帮你展开 switch 语句的插件,还会自动帮你插入 case 语句。官网
- VVDocumenter-Xcode:方便的编写标准注释的 Xcode 插件。官网
- XAlign:一个 Xcode 代码自动对齐插件,它可以使用自定义的模式来对齐任何东西。官网
- Cocoapods Xcode Plugin:依赖管理工具 CocoaPods 的 Xcode 插件。官网
- KSImageNamed-Xcode:提供了图片名称自动补全功能的插件。官网
- ColorSense-for-Xcode:可视化的颜色选择插件。官网
- Backlight-for-XCode:高亮当前编辑的行。官网
- UIColor-Hex-Swift:通过十六进制字符串创建 autorelease 颜色的便利方法。★官网
- KPRunEverywhereXcodePlugin:只需一次点击,就可以在多个 iOS 设备上构建,运行 App。官网
- RevealPlugin:将 Reveal App 和你的项目自动合为一体的 Xcode 插件。官网
- RealmPlugin:生成 Realm 模型的 Xcode 插件。官网
- AdjustFontSize:使用
⌘ +
/⌘ -
快捷键调整字体大小。官网 - Lin:这个插件提供了 NSLocalizedString 的自动补全插件。官网
- Rephrase:Xcode 用于本地化的插件.官网
- XCActionBar:Xcode 的 Alfred。官网
- QuickJump:Xcode 快速代码导航。官网
- CATweaker:一个用于创建漂亮的 CAMediaTimingFunction 曲线的插件.官网
- XcodeWay:便捷地导航到多个地方。官网
- GitDiff:将与 git 仓库中不同的代码高亮。官网
- MCLog:用于控制台内容筛选的插件。官网
- XToDo:一个显示项目中 TODO,FIXME,??? 和 !!! 列表的对话框。官网
- CopyIssue:使复制 Xcode issuse 描述更简单。官网
- RTImageAssets:自动生成所需的全部 App 图标的插件。官网
- BBUncrustifyPlugin-Xcode:使用 ClangFormat 或 Uncrustify 格式化代码的插件。官网
- Aviator:这个插件将 AppCode 的 ⇧⌘T (source/test 切换) 带到 Xcode 中.官网
- JumpMarks:使用有序的书签为你的代码做导航。官网
- XCSnippetr:直接上传代码片段到 Slack 和 Gist 的 Xcode 插件。官网
- Peckham:使用 #import 引用项目中的任何文件,提供代码提示。官网
- MLAutoReplace:快速编码以及代码格式化插件,提升你的编码速度。官网
- Chameleon:iOS (Obj-C & Swift)的扁平化颜色框架。★官网
- AutoHighlightSymbol:高亮被选中的符号对应的所有实例。官网
- Reveal-In-GitHub:用一个快捷键就可以跳转到 GitHub 仓库的 History, Blame, PRs, Issues, Notifications。官网
- CleanHeaders-Xcode:类似 iSort 的头文件排序和重复消除插件,让你的头文件看起来更加有序。官网
- Luft:帮助你实现轻量的 View Controller 的 Xcode 插件。官网
主题
- Dracula Theme:一个 Xcode 的暗色主题(仿 SublimeText).官网
- Xcode themes list:Xcode 的多彩主题。官网
- Solarized-Dark-for-Xcode:用于 Xcode5 的 Solarized Dark 主题.官网
其他 Xcode 插件
- Synx:一个重新组织你的 Xcode 项目的命令行工具,它能够让你的 group 和文件夹对应起来。官网
- dsnip:可以在本地为所有的 UIKit 协议/代理方法(UITableView,...)生成 Xcode 代码片段的工具。官网
编码规范
- NY Times:Objective C Style Guide:纽约时报使用的 Objective-C 编码规范。
- raywenderlich Style Guide:一个描述 raywenderlich.com 编码习惯的代码规范。
- Github Objective-C Style Guide:Objective-C 项目的编码规范和惯用法。
- Objective-C Coding Convention and Best Practices:一份描述编码习惯的 Gist。
- Swift Style Guide by @raywenderlich:raywenderlich.com 官方的 Swift 编码风格规范。★
- Spotify Objective-C Coding Style:Spotify 的 iOS 开发指导。
- Dropbox Objective-C Style Guide:Dropbox 的 Objective-C 代码风格指南。
- Github:Style guide & coding conventions for Swift projects:github 的 Swift 编码风格和习惯指南。★
- Futurice iOS Good Practices:@futurice 介绍的 iOS 入门指南和最佳实践。
好网站
中文站点
- 伯乐在线 iOS 频道:分享 iOS 和 Swift 开发,应用设计和推广,iOS 相关的行业动态。官网
英文站点
新闻,播客和其他
- BGR
- iMore
- Lifehacker
- iCode Blog
- NSHipster
- Objc.io
- ASCIIwwdc
- Natasha The Robot
- Apple's Swift Blog ★
- iOS Programming Subreddit
- iOS Dev Weekly
- iOS8-day-by-day ★
- iOScreator ★
- Mathew Sanders ★
- Little Bites of Cocoa ★
- iOS Dev Nuggets ★
- This Week in Swift ★
- iOS Goodies
- iOS Developer and Designer interview:一个用于帮助那些寻找 iOS 开发者或设计师的雇主的小指南。
- iOS App Development on Medium:一些关于 iOS,AppleWatch 开发的小故事和小贴士。
- Swift Sandbox:Swift 开发者通讯,Swift 开源新闻,项目和资源。 ★
UIKit 文档
论坛和讨论列表
教程和 Keynotes
- AppCoda
- Tutorials Point
- Code with Cris
- Cocoa with Love
- Cocoa is my Girlfriend
- Code School:Try Objective-C
- Brian Advent youtube channel:Youtube 上的 Swift 教程频道。 ★
- RAYWENDERLICH:开发者和爱好者的教程。
- Ry’s Objective-C Tutorial
- Mike Ash
- Big Nerd Ranch ★
- Tuts+ ★
- iOS-Blog ★
- Thinkster ★
- Swift Education:一个供教育者分享 Swift 和 app 开发学习材料的社区。★
- Cocoa Dev Central
- Use Your Loaf
- Swift Tutorials by Jameson Quave ★