国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > [置顶] iOS 学习资料整理

[置顶] iOS 学习资料整理

来源:程序员人生   发布时间:2015-01-18 10:24:36 阅读次数:3899次

这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到合适自己的学习资料, 节省他们搜索资料的时间, 使他们更好的计划好自己的 iOS 学习线路, 更快的入门, 更准确的定位的目前所处的位置.

该文档会延续更新, 同时也欢迎更多具有丰富经验的 iOS 开发者将自己的经常使用的1些工具, 学习资料, 学习心得等分享上来, 我将定期挑选合并, 文档尚有1些不完善的地方, 也请不吝指出, 感谢您对 iOS 所做的贡献, 让我们1起把国内的 iOS 做得更好, 谢谢.

如果你想帮忙完善这份文档的话, 欢迎上 GitHub 发 PR: https://github.com/Aufree/trip-to-iOS

如果您有任何意见或建议也能够通过邮件或微博联系我

视频教程(英文)

视频 简介
Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之1, 课程主要讲授了1些 iOS 开发工具和 API 和 iOS SDK 的使用, 属于 iOS 基础视频
iPad and iPhone Application Development 该课程的讲师 Paul Hegarty 是斯坦福大学软件工程学教授, 视频内容讲授得深入, 权威, 深受好评
Advanced iPhone Development - Fall 2010 iOS 开发的进阶课程, 开始触及到 Core Animation, Core Data, OpenGL 等框架的利用
iOS Dev Center 苹果官方提供的 iOS 学习视频
Lynda Lynda 上面 iOS 和 Objective-C 的学习资料比较多, 从低级到高级的都有, 覆盖面比较广, 不管 iOS 走到哪一个层次, 都可以在上面挑到合适自己的课程
Code School CodeSchool 上面的 iOS 不多, 不过质量都不错, 1些课程也挺有趣的
Udemy Udemy 帮助初学者计划了视频学习线路, 重新手到高级分的比较详细

视频教程(中文)

视频 简介
iOS 7利用开发 斯坦福白胡子老爷爷的系列视频, 所有视频皆完成翻译, 视频较新, 翻译质量也很高
iPhone开发教程2010年冬 全部视频翻译终了, 较为深入的讲授 iPhone 开发, 视频合适给有1定 Objective-C 基础的人观看
使用Swift开发iOS8 App实战 慕课网的视频, 主要讲 Swift 的1些基本使用, 并在讲授的进程中做了几个小 APP, 最后还讲了 Sketch 制作分享按钮
征战Objective-C 视频还未完结, 讲了1些 C 和 Objective-C 的基本语法, 合适零基础的人观看

书籍

书籍名称 推荐理由
Objective-C Programming 内容不多, 却都是精华, 有了1点 C 语言基础可以快速浏览此书, 大概1天时间就能够看完, 看完后对 iOS 开发能够有个基本的印象, 该书的官方论坛有各个章节习题的解答.
iOS Programming 这本书在 Quora 上被评为 iOS 入门最好书籍, 具体评价可见豆瓣下方该书籍的评论
Cocoa Design Patterns 合适打算深入了解 Cocoa 的人看
Learn Objective-C 短小精练, 合适有编程基础的人在半小时内对 Objective-C 有个1定了解
Programming with Objective-C 看完 Learn Obj-C 可以接着看这个官方对 Objective-C 更加深入的介绍
Objective-C 基础教程 该书作者 Scott Knaster 是 Mac 开发界的传奇人物, 目前在 Google 出过量数书籍都广受许多程序员好评, 此书合适从低级跳到中级的 iOS 开发者浏览
iOS 开发进阶 该书作者唐巧是国内 iOS 开发界的名人, 曾参与多个知名软件的开发, 目前该书尚在预售中, 书本内容由浅入深, 将读者1步1步引入到 iOS 中去, 一样合适低级跳到中级的 iOS 开发者浏览
Programming in Objective-C 这本书在亚马逊上面深受欢迎, 有关 Objective-C 的东西讲得非常详细
iOS 测试指南 该书作者是豆瓣的员工, 书中写的多数内容都是作者在平时的工作实践当中提炼出来的测试经验, 重点讲述了各个测试阶段的具体实践方法, 并且通过延续集成串连了各个测试阶段的活动。
Objective-C编程之道 解析 iOS 的开山之作, 详细介绍了 MVC 在 Cocoa Touch 上的运作进程, 该书适用于 iOS 中级开发者浏览
Objective-C高级编程 本书主要介绍 iOS 与 OS X 多线程和内存管理, 深入破析了苹果官方公布的源代码, 告知你1些苹果公司官方文档中不会出现的知识, 合适中级以上 iOS 开发人员浏览
Effective Objective C 2.0 书里写了编写高质量iOS与OS X代码的52个有效方法, 合适 iOS 开发的进阶使用
Swift Fundamentals 估计将来这本书会成为 Swift 的经典入门书籍, 它的 Stars 数说明了1切
The Swift Programming Language 中文版 90 后开发者梁杰组织翻译的 Swift 编程语言中文版

博客

博客地址 博主信息
OneV's Den 王巍(喵神), 现居日本, 就职于 LINE, 知名 iOS 开发者, 写的文章大多深入浅出, 内容广泛, 目前在保护的 Swifter 也值得收藏
唐巧的技术博客 唐巧, 国内知名 iOS 开发者, 现就职于猿题库, 博客推出的 iOS 移动开发周报很受欢迎, 更新频繁
txx's blog 90 后 iOS 开发者, 人称虾神, 文章内容讲授大多浅白易懂, 很值得看
破船之家 博主也是 iOS 大神1个, 常常更新1些 iOS 教程, 文章的质量都很高, 非常值得看
NSHipster NSHipster 的中文网站, 主要对 NSHipster 的英文网站进行翻译, 博文出自 Mattt 大神之手, 文章大都写得很深入, 详细, 每周1更
Limboy 无网不剩 李忠, 知乎前员工, 目前在负责花瓣 iOS 开发, 很多文章里面有介绍博主个人的学习方法, 让读者在学到技术的同时也掌握学习的技能
念茜的博客 iOS 圈的女神人物, 写的关于安全问题的文章都值得1看, 由于新博客刚开通不久, 目前文章较少, 可以去看下她之前的博客
iOS技术周报 吴发伟, 天猫资深软件开发工程师, iOS 技术周报每周1更, 推送1些 iOS 技能, 代码库, 设计等资讯.
iWangKe.me 王轲, IndieBros Studio 开创人, 优秀的 iOS 开发工程师, 写的文章深入浅出, 很多问题分析透彻, 非常有条理性
叶孤城 叶孤城, 优秀 iOS 开发工程师, 发表的文章都有很多干货, 对源码解析类文章写得浅显易懂, 并经常总结1些 iOS 开发技能, 值得1读
Kevin Blog 周楷雯, 秒视开创人, 知名 iOS 工程师, 做出了 PNChart 和 Waver 这样的好项目, 在博客中也有谈到具体的实现进程
IMTX 图拉鼎, 知名 Apple 平台开发者, 曾的 Ubuntu 平台开发者, 文章有很多干货, 大多讲授技术实现和学习经验
更多 唐巧搜集的中文 iOS/Mac 开发博客列表, 更新频繁, 值得收藏

文章

标题 内容简介
Learn Objective C: The Path to iPhone Development Udemy 写的文章, 说明了1些学习 Objective-C 的条件条件, Objective-C 的发展历史, 学习方法和学习资源
I Want to Write iOS Apps. Where Do I Start? 主要对 iOS 的开发环境进行了介绍, 并且触及到了 Swift 的学习, iOS 上架的注意事项, iOS 的设计, 测试, 代码托管等, 讲授较为广泛, 同时也给出很多学习资源
How to become a professional iOS developer 文章写的很有条理, 文中屡次强调了版本控制系统的重要性, 主要内容是对学习 iOS 开发到就职, 给出了自己的建议
Learning iOS Programming 作者总结了1些自己学习 iOS 的血的教训, 最后给出了1些不错学习建议
Become an iOS Developer 作者罗列了1些学习 iOS 的方法和经常使用的库, 和自学 iOS 的1些建议
iOS开发如何提高 唐巧写的1篇文章, 主要是对 iOS 技术的提高做的1个总结, 文中很多资源, 工具, 学习方法
自学 iOS 开发的1些经验 文章从入门到进阶到高级, 分为3个阶段, 有条理的讲出了 iOS 的全部学习进程中开发者可能遇到的问题, 并给出了解决办法, 奉献了很多好工具, 资源还有珍贵的学习经验
如何从 0 开始学 iOS 开发 作者给出了学习 iOS 的流程, 并给出1些不错的学习资源
如果我可以重新学习iOS开发 作者在文中给出了学习的1些建议, 也谈到了自己的学习方法
iOS开发学习路径的1些建议 文中谈到了英语的重要性, 和写博客, 看源代码的好处
iOS 开发入门 作者分享了自己学习 iOS 的经验和资源
Mac 和 iOS 开发资源汇总 破船之家发布的资源汇总

相干网站

网站 简介
tutsplus 不定时更新1些 iOS 教程
WWDC 苹果官方每一年1度的 WWDC 视频, 可以了解历年有关 iOS 发布的内容
ASCIIwwdc WWDC 的文字版
Awesome Swift 该网站搜集了很多关于 Swift 的学习资料, 新闻
Appcoda 常常发布1些 iOS 编程教程, 更新比较频繁, 想了解更多可以查看该网站的 About 界面
NSHipster NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly.
Think and Build Some tutorials about Core Graphic and Core Animation.
Tutorials 大把的 Objective-C, Swift, iOS 教程, 且全部免费, Raywenderlich 真是业界良知, 赞!

社区

社区 简介
CocoaChina 全球最大苹果开发者中文社区
code4app 常常更新1些很不错的 iOS 代码片断和1些 iOS 资源
objc 定期发布1些有关 Objective-C 的高质量的文章
objc中国 喵神组织的对 objc.io 的翻译网站, 旨在推动国内技术圈整体水平, 翻译质量非常高
DevDiv 发布1些 iOS 的最新资讯及教程
Cocos2d-x Cocos2d-x 论坛
iPhone Dev SDK 国外较着名的 iOS 开发者论坛
Learn Cocoa and iOS Development Forum Learn Cocoa on the Mac 和 Beginning iOS 7 Development 这两本书籍的官方论坛, 用户活跃度较高
Apple Developer Forums 苹果官方的开发者论坛
Swiftist Swift 中文社区

工具/插件

工具/插件 简介
CocoaPods 开发 OS X 和 iOS 利用程序的1个第3方库的依赖管理工具, 本身是 Ruby 的1个 gem, 极大的简化了 Objective-C 的开发流程
Alcatraz Alcatraz 是1款管理 Xcode 插件、模版和色彩配置的工具
XcodeColors 使 Xcode 调试控制台色采更丰富
xctool Facebook 开源的1个 iOS 编译和测试的工具
XToDo 1款注释辅助插件,主要用于搜集并列出项目中的TODOFIXME???!!!
KSImageNamed-Xcode 自动补全图片命名的1款插件
VVDocumenter 1个自动生成代码注释的工具
ImageOptim 用于紧缩图片1款工具
iOS 必备的 75 个工具 其中包括了非常多好用的工具, 触及到设计, 分析, 部署等, 总结的10分详细, 有中文翻译
更多 唐巧总结的1些图形利用工具, 命令行工具, Xcode 插件, 并介绍了1点基础的用法

GitHub Top 50 简介

主要对当前 GitHub 排名前 50 的项目做1个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.

项目名称 项目信息
1. AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基・梅隆大学, 开源了许多牛逼的项目, 这个便是其中之1, AFNetworking 采取 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest
2. GPUImage 1款强大的图片滤镜工具, 支持自定义滤镜, 可用来实时处理图片和视频流, 作者是 SonoPlot 公司的 CTO, 在很小的时候便开始接触编程, 他在 SO 上面的回答也有很多值得浏览, GPUImage 这个项目从 2012 年开始, 使用 OpenGL 图形程序接口编写, 性能非常好, 现在很多 iOS 程序员都用它来实现 iOS 的模糊效果
3. three20 由 Facebook iOS 客户端衍生出的1款 iPhone 框架, 内置许多丰富的功能, 有丰富的界面, 对底层的操作便捷, 为开发者省下了很多时间, 但现在已停止了更新, 1个 PR 把代码删得干干净净, 不要好奇去点开 Files changed, 我点开后该页面直接卡死, three20 当中的1位作者创建了 Nimbus, 算是 three20 的1个替换品
4. RestKit 主要用于 iOS 上网络通讯, 允许与 RESTful Web 服务交互, 经常使用于处理 API, 解析 JSON, 映照响应对象等操作, 简单易用, 方便你把所有精力都放在对数据的操作上
5. SDWebImage 作者 Olivier Poitrey 是 Dailymotion 的 CTO, 具有多个不错的开源项目, 此项目经常使用于对从 Web 端接遭到的图片进行缓存, 是 UIImageView 的扩大, 利用起来比较简单
6. ReactiveCocoa 由 GitHub 工程师们开发的1个利用于 iOS 和 OS X 开发的函数响应式编程新框架, Matt 称其为 "An open source project that exemplifies this brave new era for Objective-C", 也有人说它是 Cocoa 的未来, 具体可看唐巧写的这篇文章
7. MBProgressHUD 作者 Matej Bukovinski 是1位全栈工程师, UI/UX 设计师, 此项目是1款提示框第3方库, 帮助开发者快速利用到项目中)
8. MagicalRecord 作者是 Coursera 的 iOS 工程师, 该项目创作灵感来自于 Ruby on Rails 的 Active Record, 主要为方便操作 CoreData 而生, 帮助清除 CoreData 援用的代码, 协助方便 CoreData 的工作
9. FMDB 1个对 SQLite 进行封装的库, 使用起来方便, 简单
10. ASIHTTPRequest 1个轻量级的 iOS 网络通讯类库, 基于 CFNetwork 框架开发, 但现在已停止更新, 多数开发者改用 AFNetworking 替换)
11. Mantle 作者是 GitHub 的员工, 文档写的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application, 主要用来将 JSON 数据模型化为 Model 对象, 唱吧在前段时间也改用 Mantle 了.
12. FlatUIKit 搜集了很多扁平化 UI 的 iOS 组件, 方便使用
13. Facebook SDK for iOS Facebook 官方的 iOS SDK, 方便开发者集成 Facebook 的1些功能到自己的 iOS APP 里面
14. JSONKit 主要用于解析 JSON, 适用于 iOS6 以下环境, 自从 iOS5 开始 Apple 官方给出了 NSJSONSerialization API, 自此大家都用官方的了
15. Slate 1款窗口管理利用程序, 但在两年前就已停止更新了
16. Nimbus 作者 Jeff 曾为 Facebook, Google 做过很多好东西, 也是 three20 的成员之1, three20 停更后, 他创造出这个框架来代替 three20, 文档齐全
17. FastImageCache Path 公司出品的 iOS 库, 作者 Mallory Paine 是苹果前员工, 此类库适用于在转动时快速显示图象, 高速持久是其最大的特点
18. SVProgressHUD 又1款轻量级的 iOS 第3方控件, 用于显示任务加载时的动画, 非常轻便, 容易使用
19. Shimmer Facebook 推出的1款具有闪烁效果的第3方控件, 供它旗下1款名为 Paper 的利用使用, 安装使用全部进程都10分简单
20. CocoaLumberjack 这是 Mac 和 iOS 的1款强大的日志框架, 配置简单, 多线程, 提供更高级的 log 功能, 可用于代替默许的 NSLog 语句
21. ViewDeck 1款开源的 iOS 活动面板组件, 还原 Path 2.0 的侧滑效果, 作者由于时间关系在两年前停止对其更新
22. Alcatraz Alcatraz 是1款管理 Xcode 插件、模版和色彩配置的工具, 可以集成到 Xcode 的图形界面中, 安装删除都是几条命令的事, 很方便, 支持自己开发插件并上传
23. OpenEmu 超强的游戏摹拟器, 做游戏开发必备, 官网做得也很不错
24. AsyncDisplayKit Facebook 开源的1款 iOS UI 框架, Paper 用的就是该框架, 另外框架还用到了 Facebook 初期开源 Pop 动画引擎
25. Xctool 是 Facebook 开源的1个命令行工具,用来替换苹果的 XcodeBuild 工具, 极大的方便了 iOS 的构建和测试, 输出毛病信息也比较友好, 遭到许多 iOS 开发者的称赞, 常常与其搭配使用的还有 OCUnit, Travis CI, OCLint 等测试工具
26. iCarousel 作者是英国 Charcoal Design 公司的开创人, 开源领域的贡献很是卓著, 这个项目就是其中之1, 这是1款可以在 iOS 上实现旋转木马视图切换效果的第3方控件, 并提供多种切换效果
27. FLEX 这是 Flipboard 官方发布的1组专门用于 iOS 开发的利用内调试工具, 开发者无需将其连接到 LLDB/Xcode 或其他远程调试服务器,支持直接在 App 中运行
28. Cocos2D Swift 这是 Swift 语言版本的 Cocos2D 游戏开发引擎, 核心开发者是 Ricardo Quesada, 已为该项目贡献了 100W 行左右代码, GitHub 上更新较为频繁
29. TapkuLibrary 作者是 Devin Ross, 这是在 iOS 上1款功能强大的 UI 效果类库, 可以实现多种酷炫的效果, 目前仍在更新中
30. Masonry 1个轻量级的布局框架, 同时支持 iOS 和 Mac OS X, 语法优雅, 帮助开发者快速适配不同分辨率的 iOS 装备
31. AwesomeMenu 作者是1位中国人, 该项目主要是使用 CoreAnimation 还原了 Path menu 的动画效果
32. PonyDebugger 由 Square 公司推出的1款优秀的 iOS 利用网络调试工具, 用户可以实时看到利用程序的网络要求, 也能够对 iOS 利用程序的核心数据栈进行远程调试
33. NewsBlur 作者独自1个人 Samuel Clay 做出来的1款名为 NewsBlur 的新闻浏览器, 很多人都称其为 Google Reader 的替换品, 这是它的源码
34. JVFloatLabeledTextField 作者是 Thumb Labs 的联合开创人, JVFloatLabeledTextField 是 UITextField 的子类, 主要实现输入框标签浮动效果, 创作灵感来自 Dribbble, 已出现多个移植版本
35. Json Framework 用于解析 JSON 数据的1个框架, 但是在 iOS5 以上版本大多数人都选择使用 NSJSONSerialization 来解析 JSON, 该项目现在在 GitHub 上也几近没怎样更新了
36. The Physical Web 由 Chrome 团队主导的1个项目, 意在用 URL 连接世界, 方便用户接受数据, 目前尚处在实验阶段
37. Reachability Reachablity 是用于检测 iOS 装备网络环境的库
38. RESideMenu 作者 Roman Efimov 是雅虎的 iOS 工程师, 这个项目实现了 iOS 上的菜单侧滑效果, 创意来源于 dribbble, 该项目支持 iOS8
39. CocoaAsyncSocket 1个功能强大、简单易用的异步 socket 通讯类库, 支持 TCP 和 UDP 协议, 可用于 Mac 和 iOS 装备上, 作者 Robbie Hanson 是 Deusty 的首席软件工程师
40. ECSlidingViewController 1个视图控制器容器, 将子视图处理成两层, 通过滑动来处理层的切换, 创作灵感来自 Facebook 和 Path的 APP, 作者是 Cleveland 的员工
41. SWTableViewCell UITableViewCell 的子类, 实现了左右滑动显示信息视图并调出按钮
42. TTTAttributedLabel UILabel 的替换品, 使 iOS 上的 Label 功能更加丰富, 可支持链接植入等功能
43. Canvas 无需编码实现牛逼的动画效果的库, 连设计师都可以快速上手
44. SocketRocket Square 公司开源的1个 WebSocket 客户端, 稳定并且易用, 做实时利用常会用到, 受广大开发者爱好
45. Tweaks Facebook 开源的1款工具, 旨在帮助 iOS 开发者更快的迭代利用, 方便用户动态的调剂参数, 是的, Paper 这个项目也用到了
46. JSQMessagesViewController 优雅的 iOS 消息类库, 经常使用于聊天利用中, 可定制性高
47. PNChart 作者周楷雯是 90 后, 秒视的开创人, 该项目是1个带动画效果的图表控件, 简约易用, 遭到很多开发者爱好
48. VVDocumenter-Xcode 作者是王巍国内著名的 iOS 开发者, 人称喵神, 目前在日本 LINE 公司工作, 该项目帮助开发者轻松的生成注释文档, 节省了很多工作量, 赞
49. Appirater 1款用于提示用户给你的 APP 打分的工具
50. BlocksKit 1个开源的与 Cocoa 紧密集合的基础性框架

邮件定阅

  • iOS Dev Weekly (每周1期,内容多为这1星期里值得关注的 GitHub 项目、文章、工具等)
  • iOS Design Weekly (Tips, news and inspiration delivered each week)

文档

  • iOS Developer Library (iOS 开发必看, 有此文档足矣, 内容非常之详细)

指南/教程

网址 简介
App Store Review Guidelines iOS 利用商店审核指南, 有中文翻译版
Swift 语言指南 有很多丰富的 Swift 学习资料, 学习 Swift 有这份资料可以省下很多力气
苹果 Xcode 帮助文档浏览指南 Tinyfool 推出的1篇对帮助新手浏览官方文档的指南
Get started with your iOS developer pragram 苹果写的1篇入门指南, 粗略讲授了 iOS 程序从开发到上架的全部流程
Teamtreehouse 文章主要讲授 Objective-C 的1些语法, 文章内容有趣且通俗易懂
A map for iOS development 1张 iOS 开发地图, 做得很赞, 看完对 iOS 开发流程有1定的认知
Start Developing iOS Apps Today 苹果官方给出的 iOS 入门教程, 看过以后能够做1个 To-Do 小程序
Ry’s Objective-C Tutorial 讲授 Objective-C 的教程, 图文并茂, 合适新手浏览

Awesome 系列

  • Awesome iOS
  • Awesome-Swift(1)
  • Awesome-Swift(2)

知乎上的讨论

  • 如何才能系统的学习 iOS 开发,理解1些规则和深层次的机制原理?
  • 没有 C 和 Objective-C 基础如何快速学习 iOS 开发?
  • iOS 开发怎样入门?
  • iOS 开发入门需要学习哪些知识,从1无所知到精通需要多长时间?
  • 12 岁如何入门 iOS 编程?
  • GitHub 上都有哪些值得关注学习的 iOS 开源项目?

Quora 上的讨论

  • What are the best resources to learn iOS development?
  • What are the best new resources for learning iOS development in 2014?

贡献者

点击该链接查看该项目的所有贡献者

License

以上内容采取 CC BY-NC-SA 3.0 进行许可, 转载请注明出处, 版权归本人及所有贡献者所有

GitHub 地址: https://github.com/Aufree/trip-to-iOS
未来我会在微博不定时推送1些较新的第3方的库的使用, 欢迎关注 :D

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生