├── README.md └── scripts └── make_toc.rb /README.md: -------------------------------------------------------------------------------- 1 | # iOS开发参考资料 2 | 3 | ## 目录 4 | * [前言](#前言) 5 | * [苹果官方](#苹果官方) 6 | * [苹果开发者计划](#苹果开发者计划) 7 | * [教程](#教程) 8 | * [入门](#入门) 9 | * [Mac OS X](#mac-os-x) 10 | * [Bash](#bash) 11 | * [Xcode](#xcode) 12 | * [llvm](#llvm) 13 | * [C/C++编程](#c/c++编程) 14 | * [Objective-C编程](#objective-c编程) 15 | * [Objective-C Runtime](#objective-c-runtime) 16 | * [AOP](#aop) 17 | * [Block](#block) 18 | * [Foundation框架](#foundation框架) 19 | * [NSObject](#nsobject) 20 | * [字符串](#字符串) 21 | * [集合](#集合) 22 | * [NSCache](#nscache) 23 | * [NSNotificationCenter](#nsnotificationcenter) 24 | * [UIKit框架](#uikit框架) 25 | * [UIView/UIViewController](#uiview/uiviewcontroller) 26 | * [UITextView](#uitextview) 27 | * [UITableView/UITableViewController](#uitableview/uitableviewcontroller) 28 | * [UICollection​View](#uicollection​view) 29 | * [UIScrollView](#uiscrollview) 30 | * [UIResponder](#uiresponder) 31 | * [UIWebView](#uiwebview) 32 | * [AutoLayout](#autolayout) 33 | * [Masonry](#masonry) 34 | * [Quartz 2D](#quartz-2d) 35 | * [Core Animation](#core-animation) 36 | * [Audio/Video](#audio/video) 37 | * [编码规范/最佳实践](#编码规范/最佳实践) 38 | * [测试](#测试) 39 | * [gcov/lcov](#gcov/lcov) 40 | * [XcodeCoverage](#xcodecoverage) 41 | * [并发编程](#并发编程) 42 | * [pthread](#pthread) 43 | * [NSThread](#nsthread) 44 | * [Operation Queue](#operation-queue) 45 | * [Run Loop](#run-loop) 46 | * [GCD](#gcd) 47 | * [网络编程](#网络编程) 48 | * [TCP协议](#tcp协议) 49 | * [HTTP协议](#http协议) 50 | * [XMPP协议](#xmpp协议) 51 | * [Bonjour](#bonjour) 52 | * [NSURL](#nsurl) 53 | * [内存管理](#内存管理) 54 | * [ARC](#arc) 55 | * [XML](#xml) 56 | * [NSXMLParser(SAX-Based)](#nsxmlparser(sax-based)) 57 | * [GDataXML(DOM-Based)](#gdataxml(dom-based)) 58 | * [地图 & 定位](#地图-&-定位) 59 | * [国际化](#国际化) 60 | * [二维码](#二维码) 61 | * [字体](#字体) 62 | * [跨平台](#跨平台) 63 | * [经验之谈](#经验之谈) 64 | * [读书笔记](#读书笔记) 65 | * [Effective Objective-C](#effective-objective-c) 66 | * [交互设计](#交互设计) 67 | * [调试技巧](#调试技巧) 68 | * [LLDB](#lldb) 69 | * [工具](#工具) 70 | * [Git/GitHub](#git/github) 71 | * [Ruby](#ruby) 72 | * [CocoaPods](#cocoapods) 73 | * [appledoc](#appledoc) 74 | * [源码解析](#源码解析) 75 | * [Mantle](#mantle) 76 | * [SDWebImage](#sdwebimage) 77 | * [MBProgressHUD](#mbprogresshud) 78 | * [产品](#产品) 79 | * [IM](#im) 80 | * [附A iOS技术网站](#附a-ios技术网站) 81 | * [附B iOS圈各路大神](#附b-ios圈各路大神) 82 | 83 | ## 前言 84 | 本文档整理iOS开发参考资料。本文档将不断更新维护 ~ 85 | 86 | 87 | ## 苹果官方 88 | 0. [苹果中国](http://www.apple.com/cn/) 89 | 0. [Apple Developer](https://developer.apple.com/) 90 | 0. [iOS Dev Center](https://developer.apple.com/devcenter/ios/index.action) 91 | 0. [iOS Developer Library](https://developer.apple.com/library/ios/navigation/) 92 | 93 | 94 | ## 苹果开发者计划 95 | 0. [App Distribution Guide](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html) by [iOS Developer Library][iOS Developer Library] 96 | 0. [苹果开发者账号那些事儿(一)](http://ryantang.me/blog/2013/08/28/apple-account-1/) by [唐韧_Ryan][唐韧_Ryan] 97 | 0. [苹果开发者账号那些事儿(二)](http://ryantang.me/blog/2013/09/03/apple-account-2/) by [唐韧_Ryan][唐韧_Ryan] 98 | 0. [苹果开发者账号那些事儿(三)](http://ryantang.me/blog/2013/11/28/apple-account-3/) by [唐韧_Ryan][唐韧_Ryan] 99 | 100 | 101 | ## 教程 102 | 0. [Ry’s Objective-C tutorial](http://rypress.com/tutorials/objective-c/) 103 | 0. [iPhone Tutorials](http://www.raywenderlich.com/tutorials) by [Ray Wenderlich][raywenderlich] 104 | 0. [iOS Programming Course](http://www.appcoda.com/ios-programming-course/) by [AppCoda](http://www.appcoda.com/) 105 | 0. [27 places to learn iOS development. Best ones.](https://medium.com/ios-os-x-development/27-places-to-learn-ios-development-best-ones-b1bcfb48efab) 106 | 0. [斯坦福大学公开课:iPad和iPhone应用开发(iOS5)](http://open.163.com/special/opencourse/ipadandiphoneapplication.html) by [网易公开课][网易公开课] | 免费视频教程,iOS 5已经过时,建议从iOS 7开始看。 107 | 0. [斯坦福大学公开课:iOS 7应用开发](http://open.163.com/special/opencourse/ios7.html) by [网易公开课][网易公开课] | 免费视频教程,重点推荐,由前苹果工程师主讲。 108 | 0. [斯坦福大学公开课:iOS 8开发](http://open.163.com/special/opencourse/ios8.html) by [网易公开课][网易公开课] | 同上 109 | 0. [iOS开发零基础入门教程](http://ios.itcast.cn/news/20130807/19132762093.shtml) by [传智播客][传智播客] | 免费视频教程 110 | 0. [iOS开发进阶教程](http://ios.itcast.cn/news/20131224/1635052994.shtml) by [传智播客][传智播客] | 免费视频教程 111 | 0. [iOS开发工程师职业学习线路图](http://edu.51cto.com/roadmap/view/id-7.html) by [51CTO学院][51CTO学院] | 收费视频教程 112 | 113 | 114 | ## 入门 115 | 0. [Start Developing iOS Apps Today](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/index.html) by [iOS Developer Library][iOS Developer Library] 116 | 0. [iOS Technology Overview](https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/Introduction/Introduction.html) by [iOS Developer Library][iOS Developer Library] 117 | 118 | 119 | ## Mac OS X 120 | 121 | ### Bash 122 | ... 123 | 124 | 125 | ## Xcode 126 | 127 | ### llvm 128 | ... 129 | 130 | 131 | ## C/C++编程 132 | ... 133 | 134 | 135 | ## Objective-C编程 136 | 0. [Programming with Objective-C](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) by [iOS Developer Library][iOS Developer Library] 137 | 0. [Object-Oriented Programming with Objective-C](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) by [iOS Developer Library][iOS Developer Library] 138 | 0. [Adopting Modern Objective-C](https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ModernizationObjC/AdoptingModernObjective-C/AdoptingModernObjective-C.html) by [iOS Developer Library][iOS Developer Library] 139 | 0. [Objective-C对象模型及应用][Objective-C对象模型及应用] by [唐巧][唐巧] 140 | 141 | ### Objective-C Runtime 142 | 0. [Objective-C Runtime Programming Guide][Objective-C Runtime Programming Guide] by [iOS Developer Library][iOS Developer Library] 143 | 0. [刨根问底Objective-C Runtime(1)- Self & Super][刨根问底Objective-C Runtime(1)- Self & Super] by [Chun Tips][Chun Tips] 144 | 0. [刨根问底Objective-C Runtime(2)- Object & Class & Meta Class][刨根问底Objective-C Runtime(2)- Object & Class & Meta Class] by [Chun Tips][Chun Tips] 145 | 0. [刨根问底Objective-C Runtime(3)- 消息 和 Category][刨根问底Objective-C Runtime(3)- 消息 和 Category] by [Chun Tips][Chun Tips] 146 | 0. [刨根问底Objective-C Runtime(4)- 成员变量与属性][刨根问底Objective-C Runtime(4)- 成员变量与属性] by [Chun Tips][Chun Tips] 147 | 0. [Objective-C Runtime][Objective-C Runtime1] by [玉令天下的Blog][玉令天下的Blog] 148 | 0. [Objective-C Runtime][Objective-C Runtime2] by [Glow 技术团队博客][Glow 技术团队博客] 149 | 0. [如何自己动手实现 KVO][如何自己动手实现 KVO] by [Glow 技术团队博客][Glow 技术团队博客] 150 | 0. [Objective-C Runtime 运行时之一:类与对象](http://southpeak.github.io/blog/2014/10/25/objective-c-runtime-yun-xing-shi-zhi-lei-yu-dui-xiang/) by [南峰子的技术博客][南峰子的技术博客] 151 | 0. [Objective-C Runtime 运行时之二:成员变量与属性](http://southpeak.github.io/blog/2014/10/30/objective-c-runtime-yun-xing-shi-zhi-er-:cheng-yuan-bian-liang-yu-shu-xing/) by [南峰子的技术博客][南峰子的技术博客] 152 | 0. [Objective-C Runtime 运行时之三:方法与消息](http://southpeak.github.io/blog/2014/11/03/objective-c-runtime-yun-xing-shi-zhi-san-:fang-fa-yu-xiao-xi-zhuan-fa/) by [南峰子的技术博客][南峰子的技术博客] 153 | 0. [Objective-C Runtime 运行时之四:Method Swizzling](http://southpeak.github.io/blog/2014/11/06/objective-c-runtime-yun-xing-shi-zhi-si-:method-swizzling/) by [南峰子的技术博客][南峰子的技术博客] 154 | 0. [Objective-C Runtime 运行时之五:协议与分类](http://southpeak.github.io/blog/2014/11/08/objective-c-runtime-yun-xing-shi-zhi-wu-:xie-yi-yu-fen-lei/) by [南峰子的技术博客][南峰子的技术博客] 155 | 0. [Objective-C Runtime 运行时之六:拾遗](http://southpeak.github.io/blog/2014/11/09/objective-c-runtime-yun-xing-shi-zhi-liu-:shi-yi/) by [南峰子的技术博客][南峰子的技术博客] 156 | 0. [Objc Runtime](https://github.com/ming1016/study/wiki/Objc-Runtime) by [戴铭](https://github.com/ming1016) 157 | 158 | ### AOP 159 | 0. [Method Swizzling 和 AOP 实践][Method Swizzling 和 AOP 实践] by [Glow 技术团队博客][Glow 技术团队博客] 160 | 161 | ### Block 162 | 0. [Blocks Programming Topics][Blocks Programming Topics] by [iOS Developer Library][iOS Developer Library] 163 | 0. [谈Objective-C Block的实现][谈Objective-C Block的实现] by [唐巧][唐巧] 164 | 0. [Objective-C中的Block][Objective-C中的Block] by [OneV's Den][OneV's Den] 165 | 0. [Wrapping Objective-C Delegates with Blocks][Wrapping Objective-C Delegates with Blocks] by [Pivotal Labs][Pivotal Labs] 166 | 0. [黑幕背后的__block修饰符][黑幕背后的__block修饰符] by [Chun Tips][Chun Tips] 167 | 168 | 169 | ## Foundation框架 170 | 0. [值对象][值对象] by [objc中国][objc中国] 171 | 0. [KVC 和 KVO][KVC 和 KVO] by [objc中国][objc中国] 172 | 0. [消息传递机制][消息传递机制] by [objc中国][objc中国] 173 | 0. [自定义 Formatters][自定义 Formatters] by [objc中国][objc中国] 174 | 0. [语言标签][语言标签] by [objc中国][objc中国] 175 | 176 | ### NSObject 177 | 0. [NSObject Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/index.html) by [iOS Developer Library][iOS Developer Library] 178 | 0. [NSObject Protocol Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/) by [iOS Developer Library][iOS Developer Library] 179 | 0. [NSObject之一](http://southpeak.github.io/blog/2015/01/31/nsobjectzhi-%5B%3F%5D/) by [南峰子的技术博客][南峰子的技术博客] | 介绍`NSObject Class` 180 | 0. [NSObject之二](http://southpeak.github.io/blog/2015/01/31/nsobjectzhi-er/) by [南峰子的技术博客][南峰子的技术博客] | 介绍`NSObject Protocol` 181 | 0. [谈ObjC对象的两段构造模式](http://blog.devtang.com/blog/2013/01/13/two-stage-creation-on-cocoa/) by [唐巧][唐巧] 182 | 0. [NSObject的load和initialize方法](http://www.molotang.com/articles/1929.html) by [三石·道][三石·道] 183 | 184 | ### 字符串 185 | 0. [NSString Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/) by [iOS Developer Library][iOS Developer Library] 186 | 0. [NSMutableString Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableString_Class/index.html#//apple_ref/occ/cl/NSMutableString) by [iOS Developer Library][iOS Developer Library] 187 | 0. [NSString 与 Unicode][NSString 与 Unicode] by [objc中国][objc中国] 188 | 0. [玩转字符串][玩转字符串] by [objc中国][objc中国] 189 | 0. [字符串本地化][字符串本地化] by [objc中国][objc中国] 190 | 0. [字符串解析][字符串解析] by [objc中国][objc中国] 191 | 0. [字符串渲染][字符串渲染] by [objc中国][objc中国] 192 | 193 | ### 集合 194 | 0. [NSArray Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/) by [iOS Developer Library][iOS Developer Library] 195 | 0. [NSMutableArray Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/index.html#//apple_ref/occ/cl/NSMutableArray) by [iOS Developer Library][iOS Developer Library] 196 | 0. [NSDictionary Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/index.html) by [iOS Developer Library][iOS Developer Library] 197 | 0. [NSMutableDictionary Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/index.html#//apple_ref/occ/cl/NSMutableDictionary) by [iOS Developer Library][iOS Developer Library] 198 | 0. [基础集合类][基础集合类] by [objc中国][objc中国] 199 | 200 | ### NSCache 201 | 0. [NSCache Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/NSCache_Class/) by [iOS Developer Library][iOS Developer Library] 202 | 0. [NSCache](http://southpeak.github.io/blog/2015/02/11/nscache/) by [南峰子的技术博客][南峰子的技术博客] 203 | 204 | ### NSNotificationCenter 205 | 0. [NSNotificationCenter](http://southpeak.github.io/blog/2015/03/20/nsnotificationcenter/) by [南峰子的技术博客][南峰子的技术博客] 206 | 0. [Notification与多线程](http://southpeak.github.io/blog/2015/03/14/nsnotificationyu-duo-xian-cheng/) by [南峰子的技术博客][南峰子的技术博客] 207 | 208 | 209 | 210 | 211 | ## UIKit框架 212 | 0. [UIKit Framework Reference](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKit_Framework/index.html#classes) by [iOS Developer Library][iOS Developer Library] 213 | 0. [App Programming Guide for iOS][App Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 214 | 0. [代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧][代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧] by [OneV's Den][OneV's Den] 215 | 0. [iOS 开发中的争议(二)](http://blog.devtang.com/blog/2015/03/22/ios-dev-controversy-2/) by [唐巧][唐巧] | 本文探讨 xib/storyboard vs 手写代码 216 | 217 | ### UIView/UIViewController 218 | 0. [View Programming Guide for iOS][View Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 219 | 0. [View Controller Programming Guide for iOS][View Controller Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 220 | 0. [View Controller Catalog for iOS][View Controller Catalog for iOS] by [iOS Developer Library][iOS Developer Library] 221 | 0. [更轻量的 View Controllers][更轻量的 View Controllers] by [objc中国][objc中国] 222 | 0. [View Controller 容器][View Controller 容器] by [objc中国][objc中国] 223 | 224 | ### UITextView 225 | 0. [UITextView编辑时插入自定义表情-简单的图文混编](http://tutuge.me/2015/03/07/UITextView%E7%BC%96%E8%BE%91%E6%97%B6%E6%8F%92%E5%85%A5%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A1%A8%E6%83%85-%E7%AE%80%E5%8D%95%E7%9A%84%E5%9B%BE%E6%96%87%E6%B7%B7%E7%BC%96/) by [土土哥的技术Blog][土土哥的技术Blog] 226 | 227 | ### UITableView 228 | 0. [Table View Programming Guide for iOS][Table View Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 229 | 0. [整洁的 Table View 代码][整洁的 Table View 代码] by [objc中国][objc中国] 230 | 231 | ### UICollection​View 232 | 0. [Collection View Programming Guide for iOS][Collection View Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 233 | 0. [UICollectionView Class Reference](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/index.html#//apple_ref/occ/cl/UICollectionView) by [iOS Developer Library][iOS Developer Library] 234 | 0. [WWDC 2012 Session笔记——205 Introducing Collection Views](http://onevcat.com/2012/06/introducing-collection-views/) by [OneV's Den][OneV's Den] 235 | 0. [UICollection​View](http://nshipster.com/uicollectionview/) by [Mattt Thompson][Mattt Thompson] | [中文翻译](http://nshipster.cn/uicollectionview/) by JJ Mao 236 | 0. [自定义 Collection View 布局](http://objccn.io/issue-3-3/) by [objc中国][objc中国] 237 | 0. [Beginning UICollectionView In iOS 6: Part 1/2](http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12) by [Ray Wenderlich][raywenderlich] 238 | 239 | ### UIScrollView 240 | 0. [Scroll View Programming Guide for iOS][Scroll View Programming Guide for iOS] by [iOS Developer Library][iOS Developer Library] 241 | 0. [UIScrollView 实践经验][UIScrollView 实践经验] by [Glow 技术团队博客][Glow 技术团队博客] 242 | 0. [理解 Scroll Views](http://objccn.io/issue-3-2/) by [objc中国][objc中国] 243 | 244 | ### UIResponder 245 | 0. [UIResponder](http://southpeak.github.io/blog/2015/03/07/uiresponder/) by [南峰子的技术博客][南峰子的技术博客] 246 | 247 | ### UIWebView 248 | 0. [UIWebView Class Reference](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/) by [iOS Developer Library][iOS Developer Library] 249 | 250 | 251 | 252 | ## AutoLayout 253 | 0. [Auto Layout Guide][Auto Layout Guide] by [iOS Developer Library][iOS Developer Library] 254 | 0. [开始iOS7中自动布局的教程(一)][开始iOS7中自动布局的教程(一)] by [answer-huang][answer-huang] 255 | 0. [WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门][WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门] by [OneV's Den][OneV's Den] 256 | 0. [SizeClass和AutoLayout教程1][SizeClass和AutoLayout教程1] by [叶孤城][叶孤城] 257 | 0. [SizeClass和AutoLayout教程2][SizeClass和AutoLayout教程2] by [叶孤城][叶孤城] 258 | 0. [SizeClass和AutoLayout教程3][SizeClass和AutoLayout教程3] by [叶孤城][叶孤城] 259 | 0. [SizeClass和AutoLayout教程4][SizeClass和AutoLayout教程4] by [叶孤城][叶孤城] 260 | 261 | ### Masonry 262 | 0. [Masonry介绍与使用实践(快速上手Autolayout)](http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/) by [里脊串的开发随笔][里脊串的开发随笔] 263 | 264 | 265 | 266 | 267 | ## Quartz 2D 268 | 0. [Quartz 2D Programming Guide](https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_overview/dq_overview.html) by [iOS Developer Library][iOS Developer Library] 269 | 0. [Quartz 2D编程指南之一:概览](http://southpeak.github.io/blog/2014/11/10/quartz-2dbian-cheng-zhi-nan-zhi-%5B%3F%5D-:gai-lan/) by [南峰子的技术博客][南峰子的技术博客] 270 | 0. [Quartz 2D编程指南之二:图形上下文(Graphics Contexts)](http://southpeak.github.io/blog/2014/11/11/quartz-2dbian-cheng-zhi-nan-zhi-er-:tu-xing-shang-xia-wen-graphics-contexts/) by [南峰子的技术博客][南峰子的技术博客] 271 | 0. [Quartz 2D编程指南之三:路径(Path)](http://southpeak.github.io/blog/2014/11/16/quartz-2dbian-cheng-zhi-nan-zhi-san-:lu-jing-path/) by [南峰子的技术博客][南峰子的技术博客] 272 | 0. [Quartz 2D编程指南之四:颜色与颜色空间](http://southpeak.github.io/blog/2014/12/01/quartz-2dbian-cheng-zhi-nan-zhi-si-:yan-se-yu-yan-se-kong-jian/) by [南峰子的技术博客][南峰子的技术博客] 273 | 0. [Quartz 2D编程指南之五:变换](http://southpeak.github.io/blog/2014/12/02/quartz-2dbian-cheng-zhi-nan-zhi-wu-:bian-huan/) by [南峰子的技术博客][南峰子的技术博客] 274 | 0. [Quartz 2D编程指南之六:模式(Pattern)](http://southpeak.github.io/blog/2014/12/05/quartz-2dbian-cheng-zhi-nan-zhi-liu-:mo-shi-pattern/) by [南峰子的技术博客][南峰子的技术博客] 275 | 0. [Quartz 2D编程指南之七:阴影](http://southpeak.github.io/blog/2014/12/05/quartz-2dbian-cheng-zhi-nan-zhi-qi-:yin-ying/) by [南峰子的技术博客][南峰子的技术博客] 276 | 0. [Quartz 2D编程指南之八:渐变](http://southpeak.github.io/blog/2014/12/10/quartz-2dbian-cheng-zhi-nan-zhi-ba-:jian-bian/) by [南峰子的技术博客][南峰子的技术博客] 277 | 0. [Quartz 2D编程指南之九:透明层](http://southpeak.github.io/blog/2014/12/10/quartz-2dbian-cheng-zhi-nan-zhi-jiu-:tou-ming-ceng/) by [南峰子的技术博客][南峰子的技术博客] 278 | 0. [Quartz 2D编程指南之十:Quartz 2D中的数据管理](http://southpeak.github.io/blog/2014/12/11/quartz-2dbian-cheng-zhi-nan-zhi-shi-:quartz-2dzhong-de-shu-ju-guan-li/) by [南峰子的技术博客][南峰子的技术博客] 279 | 0. [Quartz 2D编程指南之十一:位图与图像遮罩](http://southpeak.github.io/blog/2015/01/05/quartz-2dbian-cheng-zhi-nan-zhi-shi-%5B%3F%5D-:wei-tu-yu-tu-xiang-zhe-zhao/) by [南峰子的技术博客][南峰子的技术博客] 280 | 0. [Quartz 2D编程指南之十二:Core Graphics层绘制](http://southpeak.github.io/blog/2015/01/08/quartz-2dbian-cheng-zhi-nan-zhi-shi-er-:core-graphicsceng-hui-zhi/) by [南峰子的技术博客][南峰子的技术博客] 281 | 0. [Quartz 2D编程指南之十三:PDF文档的创建、显示及转换](http://southpeak.github.io/blog/2015/01/08/quartz-2dbian-cheng-zhi-nan-zhi-shi-san-:pdfwen-dang-de-chuang-jian-,-xian-shi-ji-zhuan-huan/) by [南峰子的技术博客][南峰子的技术博客] 282 | 0. [绘制像素到屏幕上](http://objccn.io/issue-3-1/) by [objc中国][objc中国] 283 | 284 | 285 | 286 | 287 | ## Core Animation 288 | 0. [Core Animation Programming Guide][Core Animation Programming Guide] by [iOS Developer Library][iOS Developer Library] 289 | 0. [Core Animation Programming Guide 译] by 海水的味道 290 | 291 | 292 | 293 | 294 | ## Audio/Video 295 | 0. [IOS、安卓IM语音聊天开发初探部分心得——本地音频处理篇(上)](http://cvito.net/index.php/archives/854) by [雪印笔记](http://cvito.net/) 296 | 0. [IOS、安卓IM语音聊天开发初探部分心得——本地音频处理篇(下)](http://cvito.net/index.php/archives/869) by [雪印笔记](http://cvito.net/) 297 | 298 | 299 | 300 | 301 | ## 编码规范/最佳实践 302 | 0. [Coding Guidelines for Cocoa][Coding Guidelines for Cocoa] by [iOS Developer Library][iOS Developer Library] 303 | 0. [Zen and the Art of the Objective-C Craftsmanship][objc-zen-book] 304 | 0. [The official raywenderlich.com Objective-C style guide](https://github.com/raywenderlich/objective-c-style-guide) by [Ray Wenderlich][raywenderlich] 305 | 0. [写iOS SDK注意事项][写iOS SDK注意事项] by [唐巧][唐巧] 306 | 0. [iOS 开发中的争议(一)](http://blog.devtang.com/blog/2015/03/15/ios-dev-controversy-1/) by [唐巧][唐巧] | 注:本文探讨 `_property` vs `self.property` 307 | 0. [iOS Good Practices](https://github.com/futurice/ios-good-practices) by [futurice](https://github.com/futurice) | [中文翻译](http://www.jianshu.com/p/b0bf2368fb95) by [linxiangyu](http://www.jianshu.com/users/B7jBJx) 308 | 309 | 310 | 311 | 312 | ## 测试 313 | 0. [Testing with Xcode][Testing with Xcode] by [iOS Developer Library][iOS Developer Library] 314 | 0. [行为驱动开发][行为驱动开发] by [objc中国][objc中国] 315 | 0. [XCTest 测试实战][XCTest 测试实战] by [objc中国][objc中国] 316 | 0. [依赖注入][依赖注入] by [objc中国][objc中国] 317 | 0. [糟糕的测试][糟糕的测试] by [objc中国][objc中国] 318 | 0. [置换测试: Mock, Stub 和其他][置换测试: Mock, Stub 和其他] by [objc中国][objc中国] 319 | 0. [UI 测试][UI 测试] by [objc中国][objc中国] 320 | 0. [截图测试][截图测试] by [objc中国][objc中国] 321 | 0. [TDD的iOS开发初步以及Kiwi使用入门][TDD的iOS开发初步以及Kiwi使用入门] by [OneV's Den][OneV's Den] 322 | 0. [Kiwi 使用进阶 Mock, Stub, 参数捕获和异步测试][Kiwi 使用进阶 Mock, Stub, 参数捕获和异步测试] by [OneV's Den][OneV's Den] 323 | 0. [测试 View Controllers][测试 View Controllers] by [objc中国][objc中国] 324 | 0. [使用树莓派搭建低成本,便携,多用户的弱网模拟器:高效测试手机App在弱网下的可用性 ](http://hugozhu.myalert.info/2015/03/28/59-use-raspberrypi-to-build-an-augmented-traffic-control-system.html) by [Hugo Zhu](http://hugozhu.myalert.info/) 325 | 326 | ### gcov/lcov 327 | 0. [C/C++代码覆盖工具gcov与lcov入门](http://magustest.com/blog/whiteboxtesting/using-gcov-lcov/) by [进化的测试](http://magustest.com/blog/) 328 | 329 | ### XcodeCoverage 330 | 0. [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) 331 | 0. [How to Measure Code Coverage in Xcode](http://qualitycoding.org/xcode-code-coverage/) by [Jon Reid](http://qualitycoding.org/) | Jon Reid是XcodeCoverage的作者。 332 | 0. [XcodeCoverage查看iOS应用的代码覆盖率](http://blog.csdn.net/dongyu0729/article/details/38655959) 333 | 334 | 335 | ## 并发编程 336 | 0. [Concurrency Programming Guide][Concurrency Programming Guide] by [iOS Developer Library][iOS Developer Library] 337 | 0. [Threading Programming Guide][Threading Programming Guide] by [iOS Developer Library][iOS Developer Library] 338 | 0. [并发编程:API 及挑战][并发编程:API 及挑战] by [objc中国][objc中国] 339 | 0. [常见的后台实践][常见的后台实践] by [objc中国][objc中国] 340 | 0. [底层并发 API][底层并发 API] by [objc中国][objc中国] 341 | 0. [线程安全类的设计][线程安全类的设计] by [objc中国][objc中国] 342 | 0. [测试并发程序][测试并发程序] by [objc中国][objc中国] 343 | 0. [iOS并发编程笔记](http://www.starming.com/index.php?v=index&view=73) by [Starming星光社][Starming星光社] 344 | 345 | ### pthread 346 | 0. [pthread手册][pthread手册] by [iOS Developer Library][iOS Developer Library] 347 | 348 | ### NSThread 349 | 0. [NSThread Class Reference](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSThread_Class/) by [iOS Developer Library][iOS Developer Library] 350 | 351 | ### Operation Queue 352 | 0. [NSOperation Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/NSOperation_class/index.html) by [iOS Developer Library][iOS Developer Library] 353 | 0. [NSOperationQueue Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/NSOperationQueue_class/index.html) by [iOS Developer Library][iOS Developer Library] 354 | 0. [NSOperation](http://nshipster.com/nsoperation/) by [Mattt Thompson][Mattt Thompson] | [中文翻译](http://nshipster.cn/nsoperation/) by Henry Lee 355 | 0. [How To Use NSOperations and NSOperationQueues](http://www.raywenderlich.com/19788/how-to-use-nsoperations-and-nsoperationqueues) by [Ray Wenderlich][raywenderlich] 356 | 357 | ### Run Loop 358 | 0. [走进Run Loop的世界 (一):什么是Run Loop?][走进Run Loop的世界 (一):什么是Run Loop?] by [Chun Tips][Chun Tips] 359 | 0. [走进Run Loop的世界 (二):如何配置Run Loop Sources][走进Run Loop的世界 (二):如何配置Run Loop Sources] by [Chun Tips][Chun Tips] 360 | 361 | ### GCD 362 | 0. [Grand Central Dispatch (GCD) Reference](https://developer.apple.com/library/prerelease/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html) by [iOS Developer Library][iOS Developer Library] 363 | 0. [使用GCD][使用GCD] by [唐巧][唐巧] 364 | 0. [GCD使用经验与技巧浅谈](http://tutuge.me/2015/04/03/something-about-gcd/) by [土土哥的技术Blog][土土哥的技术Blog] 365 | 0. [为GCD队列绑定NSObject类型上下文数据-利用__bridge_retained(transfer)转移内存管理权](http://tutuge.me/2015/03/29/bind-data-to-gcd-queue/) by [土土哥的技术Blog][土土哥的技术Blog] 366 | 367 | 368 | 369 | 370 | ## 网络编程 371 | 0. [Networking Concepts][Networking Concepts] by [iOS Developer Library][iOS Developer Library] 372 | 0. [Networking Overview][Networking Overview] by [iOS Developer Library][iOS Developer Library] 373 | 374 | ### TCP协议 375 | 0. [TCP 的那些事儿(上)](http://coolshell.cn/articles/11564.html) by [酷壳][酷壳] 376 | 0. [TCP 的那些事儿(下)](http://coolshell.cn/articles/11609.html) by [酷壳][酷壳] 377 | 378 | ### HTTP协议 379 | 0. [HTTP协议简介](http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832653051fd44e44e4f9e4ed08f3e5a5ab550358d000) by [廖雪峰的官方网站][廖雪峰的官方网站] 380 | 381 | ### XMPP协议 382 | 0. [The XMPP Standards Foundation](http://xmpp.org/) 383 | 384 | ### Bonjour 385 | 0. [Bonjour理论1:基本概念](http://southpeak.github.io/blog/2014/07/19/bonjourji-ben-li-lun/) by [南峰子的技术博客][南峰子的技术博客] 386 | 0. [Bonjour理论2:域命名约定、API及其操作](http://southpeak.github.io/blog/2014/07/20/bonjourde-yu-ming-ming-yue-ding-,-apiji-qi-cao-zuo/) by [南峰子的技术博客][南峰子的技术博客] 387 | 388 | ### NSURL 389 | 0. [URL加载系统之一:基本结构](http://southpeak.github.io/blog/2014/07/11/urljia-zai-xi-tong-zhi-%5B%3F%5D-:ji-ben-jie-gou/) by [南峰子的技术博客][南峰子的技术博客] 390 | 0. [URL加载系统之二:NSURLSession](http://southpeak.github.io/blog/2014/07/11/urljia-zai-xi-tong-zhi-er-:nsurlsession/) by [南峰子的技术博客][南峰子的技术博客] 391 | 0. [URL加载系统之三:NSURLConnection](http://southpeak.github.io/blog/2014/07/15/urljia-zai-xi-tong-zhi-san-:nsurlconnection/) by [南峰子的技术博客][南峰子的技术博客] 392 | 0. [URL加载系统之四:认证与TLS链验证](http://southpeak.github.io/blog/2014/07/16/urljia-zai-xi-tong-zhi-si-:ren-zheng-yu-tlslian-yan-zheng/) by [南峰子的技术博客][南峰子的技术博客] 393 | 0. [URL加载系统之五:缓存、Cookies与协议](http://southpeak.github.io/blog/2014/07/20/urljia-zai-xi-tong-zhi-wu-:huan-cun-,-cookiesyu-xie-yi/) by [南峰子的技术博客][南峰子的技术博客] 394 | 395 | 396 | 397 | 398 | ## 内存管理 399 | 0. [Memory Management Tutorial for iOS](http://www.raywenderlich.com/2657/memory-management-tutorial-for-ios) by [Ray Wenderlich][raywenderlich] 400 | 0. [Instruments Tutorial for iOS: How To Debug Memory Leaks](http://www.raywenderlich.com/2696/instruments-tutorial-for-ios-how-to-debug-memory-leaks) by [Ray Wenderlich][raywenderlich] 401 | 0. [Properties Tutorial for iOS](http://www.raywenderlich.com/2712/properties-tutorial-for-ios) by [Ray Wenderlich][raywenderlich] 402 | 0. [@autoreleasepool-内存的分配与释放](http://tutuge.me/2015/03/17/what-is-autoreleasepool/) by [土土哥的技术Blog][土土哥的技术Blog] 403 | 404 | ### ARC 405 | 0. [Beginning ARC in iOS 5 Tutorial Part 1](http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1) by [Ray Wenderlich][raywenderlich] 406 | 0. [Beginning ARC in iOS 5 Tutorial Part 2](http://www.raywenderlich.com/5773/beginning-arc-in-ios-5-tutorial-part-2) by [Ray Wenderlich][raywenderlich] 407 | 408 | 409 | 410 | 411 | ## XML 412 | 0. [XML Tutorial for iOS: How To Choose The Best XML Parser for Your iPhone Project](http://www.raywenderlich.com/553/xml-tutorial-for-ios-how-to-choose-the-best-xml-parser-for-your-iphone-project) by [Ray Wenderlich][raywenderlich] 413 | 414 | ### NSXMLParser(SAX-Based) 415 | 0. [NSXMLParser Class Reference](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/) by [iOS Developer Library][iOS Developer Library] 416 | 417 | ### GDataXML(DOM-Based) 418 | 0. [XML Tutorial for iOS: How To Read and Write XML Documents with GDataXML](http://www.raywenderlich.com/725/xml-tutorial-for-ios-how-to-read-and-write-xml-documents-with-gdataxml) by [Ray Wenderlich][raywenderlich] 419 | 420 | 421 | 422 | 423 | ## 地图 & 定位 424 | 0. [Location and Maps Programming Guide][Location and Maps Programming Guide] by [iOS Developer Library][iOS Developer Library] 425 | 426 | 427 | 428 | 429 | ## 国际化 430 | 0. [Internationalization and Localization Guide][Internationalization and Localization Guide] by [iOS Developer Library][iOS Developer Library] 431 | 432 | 433 | 434 | 435 | ## 二维码 436 | 0. [在iOS中使用ZXing库][在iOS中使用ZXing库] by [唐巧][唐巧] 437 | 438 | 439 | 440 | 441 | ## 字体 442 | 0. [iOS 7支持的字体列表][iOS 7支持的字体列表] 443 | 0. [动态下载苹果提供的多种中文字体][动态下载苹果提供的多种中文字体] by [唐巧][唐巧] 444 | 445 | 446 | 447 | 448 | ## 跨平台 449 | 0. [跨平台开发时代的 (再次) 到来?](http://onevcat.com/2015/03/cross-platform/) by [OneV's Den][OneV's Den] 450 | 0. [谈谈 React Native](http://blog.devtang.com/blog/2015/02/01/talk-about-react-native/) by [唐巧][唐巧] 451 | 452 | 453 | 454 | 455 | ## 经验之谈 456 | 0. [iOS开发如何提高][iOS开发如何提高] by [唐巧][唐巧] 457 | 0. [iOS开发如何快速成长?][iOS开发如何快速成长?] by [叶孤城][叶孤城] 458 | 459 | 460 | 461 | 462 | ## 读书笔记 463 | 464 | ### Effective Objective-C 465 | 0. [Effective-Objective-C-读书笔记-Item-1](http://tutuge.me/2015/02/05/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-1/) by [土土哥的技术Blog][土土哥的技术Blog] 466 | 0. [Effective-Objective-C-读书笔记-Item-2](http://tutuge.me/2015/02/06/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-2/) by [土土哥的技术Blog][土土哥的技术Blog] 467 | 0. [Effective-Objective-C-读书笔记-Item-3](http://tutuge.me/2015/02/14/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-3/) by [土土哥的技术Blog][土土哥的技术Blog] 468 | 0. [Effective-Objective-C-读书笔记-Item-4-如何正确定义常量](http://tutuge.me/2015/03/11/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-4-%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E5%AE%9A%E4%B9%89%E5%B8%B8%E9%87%8F/) by [土土哥的技术Blog][土土哥的技术Blog] 469 | 0. [Enum-枚举的正确使用-Effective-Objective-C-读书笔记-Item-5 ](http://tutuge.me/2015/03/21/effective-objective-c-5-enum/) by [土土哥的技术Blog][土土哥的技术Blog] 470 | 471 | 472 | 473 | 474 | ## 交互设计 475 | 0. [iOS Human Interface Guidelines][iOS Human Interface Guidelines] by [iOS Developer Library][iOS Developer Library] 476 | 477 | 478 | 479 | 480 | ## 调试技巧 481 | 482 | ### LLDB 483 | 0. [工具篇:LLDB调试器](http://southpeak.github.io/blog/2015/01/25/gong-ju-pian-:lldbdiao-shi-qi/) by [南峰子的技术博客][南峰子的技术博客] 484 | 485 | 486 | 487 | 488 | ## 工具 489 | 490 | ### Git / GitHub 491 | 0. [Git教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) by [廖雪峰的官方网站][廖雪峰的官方网站] 492 | 0. [GitHub Top 100 简介](https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md) by [@李锦发](http://weibo.com/jinfali) 493 | 494 | ### Ruby 495 | 0. [Ruby程序设计语言官方网站_中文](https://www.ruby-lang.org/zh_cn/) 496 | 0. [Ruby 教程](http://www.w3cschool.cc/ruby/ruby-tutorial.html) by [w3cschool][w3cschool] 497 | 498 | ### CocoaPods 499 | 0. [CocoaPods][CocoaPodsByMatttThompson] by [Mattt Thompson][Mattt Thompson] | [中文翻译][CocoaPodsByMatttThompson译] by David Liu 500 | 0. [CocoaPods安装和使用教程][CocoaPods安装和使用教程] by Code4App 501 | 0. [用CocoaPods做iOS程序的依赖管理][用CocoaPods做iOS程序的依赖管理] by [唐巧][唐巧] 502 | 0. [CocoaPods最佳实践探讨][CocoaPods最佳实践探讨] by [王_晓磊](http://weibo.com/xiaoleiwang) 503 | 0. [极速化 CocoaPods][极速化 CocoaPods] by [icyleaf][icyleaf] 504 | 0. [深入理解 CocoaPods][深入理解 CocoaPods] by [objc中国][objc中国] 505 | 506 | ### appledoc 507 | 0. [使用Objective-C的文档生成工具:appledoc][使用Objective-C的文档生成工具:appledoc] by [唐巧][唐巧] 508 | 509 | 510 | 511 | 512 | ## 开源框架解读 513 | 514 | ### Mantle 515 | 0. [工具篇:Mantle](http://southpeak.github.io/blog/2015/01/11/gong-ju-pian-:mantle/) by [南峰子的技术博客][南峰子的技术博客] 516 | 0. [源码篇:Mantle](http://southpeak.github.io/blog/2015/01/11/yuan-ma-pian-:mantle/) by [南峰子的技术博客][南峰子的技术博客] 517 | 518 | ### SDWebImage 519 | 0. [源码篇:SDWebImage](http://southpeak.github.io/blog/2015/02/07/yuan-ma-pian-:sdwebimage/) by [南峰子的技术博客][南峰子的技术博客] 520 | 521 | ### MBProgressHUD 522 | 0. [源码篇:MBProgressHUD](http://southpeak.github.io/blog/2015/03/24/yuan-ma-pian-:mbprogresshud/) by [南峰子的技术博客][南峰子的技术博客] 523 | 524 | ### POP 525 | 0. [POP介绍与使用实践(快速上手动画)](http://adad184.com/2015/03/11/2015-03-11-intro-to-pop/) by [里脊串的开发随笔][里脊串的开发随笔] 526 | 0. [Facebook POP 进阶指南](http://blog.zhowkev.in/2014/06/06/facebook-pop/) by [Kevin Blog](http://blog.zhowkev.in/) 527 | 528 | 529 | ## 产品 530 | 0. [一些知名App用到的第三方库汇总](http://www.jianshu.com/p/c5b0eb58b878) by [Robert_Chen](http://www.jianshu.com/users/0749708fa9a0) 531 | 0. [产品经理们的那些奇技淫巧](https://qdan.me/list/VSeBskLvt9x9FzFW?utm_source=share&utm_medium=web&utm_term=weibo&utm_campaign=qdan) by [轻单](https://qdan.me/?from=logo) 532 | 533 | ### IM 534 | 0. [移动 IM 学习笔记](https://ruby-china.org/topics/22530) by [Ruby China](https://ruby-china.org/) 535 | 0. [详解Zoosk千万用户实时通信背后的开源技术](http://www.csdn.net/article/2012-09-10/2809790-zoosk-the-engineering-behind-real-time) by csdn 536 | 537 | 538 | 539 | 540 | ## 附A iOS技术网站 541 | 站点地址 | 站点简介 | 542 | ------------ | ------------ | 543 | [objc.io][objc.io] | ... | 544 | [objc中国][objc中国] | objc.io中文翻译 | 545 | [Ray Wenderlich][raywenderlich] | 英文教程网 | 546 | [NSHipster][NSHipster] | NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly. | 547 | [NSHipster中文版][NSHipster中文版] | NSHipster中文翻译 | 548 | 549 | 550 | 551 | 552 | ## 附B iOS / MacOS 技术圈各路大神(排名不分先后) 553 | 554 | > **Mattt Thompson** 555 | 556 | * Github: [https://github.com/mattt](https://github.com/mattt) 557 | * Blog: [http://nshipster.com/](http://nshipster.com/) 558 | * 主要作品: 559 | * [AFNetworking](https://github.com/AFNetworking/AFNetworking) 560 | 561 | ---- 562 | 563 | > **Ole Begemann** 564 | 565 | * Github: [https://github.com/ole](https://github.com/ole) 566 | * Blog: [http://oleb.net/](http://oleb.net/) 567 | 568 | ---- 569 | 570 | > **「tinyfool」郝培强** 571 | > 572 | > 上海泰尼网络科技有限公司创始人,OurCoders.com 站长。 573 | 574 | * Blog: [http://tiny4.org/blog/](http://tiny4.org/blog/) 575 | * 新浪微博: [@tinyfool](http://weibo.com/tinyfool) 576 | * 微信公众号:「Tiny4Voice」tiny4voice 577 | * 了解更多: 578 | * [郝培强(Tinyfool)是谁? - 知乎](http://www.zhihu.com/question/19581223) 579 | 580 | ---- 581 | 582 | > **池建强** 583 | > 584 | > 《MacTalk 人生元编程》作者,现任锤子科技平台研发总监。 585 | 586 | * Blog: [MacTalk-池建强的随想录](http://macshuo.com/) 587 | * 新浪微博: [@池建强](http://weibo.com/idreamland) 588 | * 微信公众号:「MacTalk」sagacity-mac 589 | * 主要作品: 590 | * [《MacTalk 人生元编程》](http://book.douban.com/subject/25826578/) 591 | 592 | ---- 593 | 594 | > **唐巧** 595 | > 596 | > InfoQ 编辑,《iOS开发进阶》作者,目前在猿题库创业,iOS 高级研发工程师。 597 | 598 | * Github: [https://github.com/tangqiaoboy](https://github.com/tangqiaoboy) 599 | * Blog: [唐巧的技术博客](http://blog.devtang.com/) 600 | * 新浪微博: [@唐巧_boy](http://weibo.com/tangqiaoboy) 601 | * 微信公众号:「iOS开发」iosDevTips 602 | * 主要作品: 603 | * [《iOS开发进阶》](http://book.douban.com/subject/26287173/) 604 | * 了解更多: 605 | * [唐巧访谈: iOS大V的技术进阶之路](http://www.cocoachina.com/programmer/20150115/10930.html) by CocoaChina 606 | 607 | ---- 608 | 609 | > **「onevcat」王巍** 610 | > 611 | > 「objc中国」项目发起人,现居日本,就职于 LINE。 612 | 613 | * Github: [https://github.com/onevcat](https://github.com/onevcat) 614 | * Blog: [OneV's Den](http://onevcat.com/#blog) 615 | * 新浪微博: [@onevcat](http://weibo.com/onevcat) 616 | * 主要作品: 617 | * [objc中国][objc中国](as 项目发起人) 618 | * [swifter.tips](http://swifter.tips/) 619 | * [VVDocumenter-Xcode](https://github.com/onevcat/VVDocumenter-Xcode) 620 | * 了解更多 621 | * [王巍访谈:关于Swift学习和AppleWatch开发的一些建议](http://www.cocoachina.com/programmer/20150121/10966.html) by CocoaChina 622 | 623 | ---- 624 | 625 | > **周楷雯** 626 | > 627 | > Catch Inc. CEO,《PRODUCTER》 作者 628 | 629 | * Github: [https://github.com/kevinzhow](https://github.com/kevinzhow) 630 | * Blog: [Kevin Blog](http://blog.zhowkev.in/) 631 | * 新浪微博: [@周楷雯Kevin](http://weibo.com/kevinzhow) 632 | * 微信公众号: 633 | * 主要作品: 634 | 635 | ---- 636 | 637 | > **「M了个J」李明杰** 638 | > 639 | > xxxx 640 | 641 | * Github: []() 642 | * Blog: []() 643 | * 新浪微博: []() 644 | * * 微信公众号: 645 | * 主要作品: 646 | 647 | ---- 648 | 649 | > **「南峰子」** 650 | > 651 | > xxxx 652 | 653 | * Github: []() 654 | * Blog: []() 655 | * 新浪微博: []() 656 | * * 微信公众号: 657 | * 主要作品: 658 | 659 | ---- 660 | 661 | > **「我就叫Sunny怎么了」孙源** 662 | > 663 | > xxxx 664 | 665 | * Github: []() 666 | * Blog: []() 667 | * 新浪微博: []() 668 | * * 微信公众号: 669 | * 主要作品: 670 | 671 | ---- 672 | 673 | > **「请叫我汪二」** 674 | > 675 | > xxxx 676 | 677 | * Github: []() 678 | * Blog: []() 679 | * 新浪微博: []() 680 | * * 微信公众号: 681 | * 主要作品: 682 | 683 | ---- 684 | 685 | > **「叶孤城」** 686 | > 687 | > xxxx 688 | 689 | * Github: []() 690 | * Blog: []() 691 | * 新浪微博: []() 692 | * * 微信公众号: 693 | * 主要作品: 694 | 695 | ---- 696 | 697 | > **雷纯锋** 698 | > 699 | > xxxx 700 | 701 | * Github: []() 702 | * Blog: []() 703 | * 新浪微博: []() 704 | * * 微信公众号: 705 | * 主要作品: 706 | 707 | ### 更多 708 | * [中文 iOS/Mac 开发博客列表](https://github.com/tangqiaoboy/iOSBlogCN) - [@唐巧_boy](http://weibo.com/tangqiaoboy) 维护的技术博客列表 709 | 710 | [----]: "------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" 711 | 712 | 737 | 738 | 739 | [酷壳]:http://coolshell.cn/ "酷壳" 740 | [廖雪峰的官方网站]:http://www.liaoxuefeng.com/ "廖雪峰的官方网站" 741 | [w3cschool]:http://www.w3cschool.cc/ "w3cschool" 742 | [51CTO学院]:http://edu.51cto.com/ "51CTO学院" 743 | [传智播客]:http://www.itcast.cn/ "传智播客" 744 | [网易公开课]:http://open.163.com/ "网易公开课" 745 | 746 | [iOS Developer Library]: https://developer.apple.com/library/ios/navigation/ 747 | [objc.io]: http://www.objc.io/ 748 | [objc中国]: http://objccn.io/ 749 | [Chun Tips]: http://chun.tips/ 750 | [唐巧]: http://blog.devtang.com/ 751 | [OneV's Den]: http://onevcat.com/#blog 752 | [raywenderlich]: http://www.raywenderlich.com/ 753 | [answer-huang]: http://answerhuang.duapp.com/ 754 | [叶孤城]: http://www.jianshu.com/users/b82d2721ba07/latest_articles 755 | [唐韧_Ryan]: http://ryantang.me/ 756 | [不会开机的男孩]: http://studentdeng.github.io/ 757 | [玉令天下的Blog]: http://yulingtianxia.com/ 758 | [Pivotal Labs]: http://pivotallabs.com/ 759 | [Glow 技术团队博客]:http://tech.glowing.com/cn/ "Glow 技术团队博客" 760 | [NSHipster]:http://nshipster.com/ "NSHipster" 761 | [NSHipster中文版]:http://nshipster.cn/ "NSHipster中文版" 762 | [Mattt Thompson]:http://nshipster.com/authors/mattt-thompson/ "Mattt Thompson" 763 | [icyleaf]: http://icyleaf.com/ "icyleaf" 764 | [土土哥的技术Blog]:http://tutuge.me/ "土土哥的技术Blog" 765 | [里脊串的开发随笔]:http://adad184.com/ "里脊串的开发随笔" 766 | [南峰子的技术博客]:http://southpeak.github.io/ "南峰子的技术博客" 767 | [Starming星光社]:http://www.starming.com/ "Starming星光社" 768 | [Why's Blog]:http://blog.callmewhy.com/ "Why's Blog" 769 | [三石·道]:http://www.molotang.com/ "三石·道" 770 | 771 | [Objective-C编程]: "" 772 | [Blocks Programming Topics]:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html 773 | [Objective-C Runtime Programming Guide]:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html 774 | [刨根问底Objective-C Runtime(1)- Self & Super]: http://chun.tips/blog/2014/11/05/bao-gen-wen-di-objective%5Bnil%5Dc-runtime%281%29%5Bnil%5D-self-and-super/ 775 | [刨根问底Objective-C Runtime(2)- Object & Class & Meta Class]: http://chun.tips/blog/2014/11/05/bao-gen-wen-di-objective%5Bnil%5Dc-runtime-%282%29%5Bnil%5D-object-and-class-and-meta-class/ 776 | [刨根问底Objective-C Runtime(3)- 消息 和 Category]: http://chun.tips/blog/2014/11/06/bao-gen-wen-di-objective%5Bnil%5Dc-runtime%283%29%5Bnil%5D-xiao-xi-he-category/ 777 | [刨根问底Objective-C Runtime(4)- 成员变量与属性]: http://chun.tips/blog/2014/11/08/bao-gen-wen-di-objective%5Bnil%5Dc-runtime%284%29%5Bnil%5D-cheng-yuan-bian-liang-yu-shu-xing/ 778 | [Objective-C Runtime1]:http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/ "Objective-C Runtime1" 779 | [Objective-C Runtime2]:http://tech.glowing.com/cn/objective-c-runtime/ "Objective-C Runtime2" 780 | [如何自己动手实现 KVO]:http://tech.glowing.com/cn/implement-kvo/ "如何自己动手实现 KVO" 781 | [Method Swizzling 和 AOP 实践]:http://tech.glowing.com/cn/method-swizzling-aop/ "Method Swizzling 和 AOP 实践" 782 | [谈Objective-C Block的实现]: http://blog.devtang.com/blog/2013/07/28/a-look-inside-blocks/ 783 | [Objective-C中的Block]: http://www.onevcat.com/2011/11/objc-block/ 784 | [Wrapping Objective-C Delegates with Blocks]: http://pivotallabs.com/wrapping-delegates-blocks/ 785 | [黑幕背后的__block修饰符]: http://chun.tips/blog/2014/11/13/hei-mu-bei-hou-de-blockxiu-shi-fu/ 786 | [谈ObjC对象的两段构造模式]: http://blog.devtang.com/blog/2013/01/13/two-stage-creation-on-cocoa/ 787 | [Objective-C对象模型及应用]: http://blog.devtang.com/blog/2013/10/15/objective-c-object-model/ 788 | 789 | [Foundation框架]: "" 790 | [基础集合类]: http://objccn.io/issue-7-1/ 791 | [值对象]: http://objccn.io/issue-7-2/ 792 | [KVC 和 KVO]: http://objccn.io/issue-7-3/ 793 | [消息传递机制]: http://objccn.io/issue-7-4/ 794 | [自定义 Formatters]: http://objccn.io/issue-7-5/ 795 | [语言标签]: http://objccn.io/issue-7-6/ 796 | [NSString 与 Unicode]: http://objccn.io/issue-9-1/ 797 | [玩转字符串]: http://objccn.io/issue-9-2/ 798 | [字符串本地化]: http://objccn.io/issue-9-3/ 799 | [字符串解析]: http://objccn.io/issue-9-4/ 800 | [字符串渲染]: http://objccn.io/issue-9-5/ 801 | 802 | [UIKit框架]: "" 803 | [App Programming Guide for iOS]:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html 804 | [View Programming Guide for iOS]:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/Introduction/Introduction.html 805 | [View Controller Programming Guide for iOS]:https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html 806 | [Table View Programming Guide for iOS]:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html 807 | [View Controller Catalog for iOS]:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Introduction.html 808 | [Collection View Programming Guide for iOS]:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/Introduction/Introduction.html 809 | [Scroll View Programming Guide for iOS]:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/UIScrollView_pg/Introduction/Introduction.html 810 | [Auto Layout Guide]:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html 811 | [开始iOS7中自动布局的教程(一)]: http://answerhuang.duapp.com/index.php/2013/12/03/beginning_auto_layout_tutorial_in_ios7/ 812 | [WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门]: http://onevcat.com/2012/09/autoayout/ 813 | [SizeClass和AutoLayout教程1]: http://www.jianshu.com/p/bd071f9a558d 814 | [SizeClass和AutoLayout教程2]: http://www.jianshu.com/p/a4cf3db81c0b 815 | [SizeClass和AutoLayout教程3]: http://www.jianshu.com/p/3d6b2341fd83 816 | [SizeClass和AutoLayout教程4]: http://www.jianshu.com/p/e72e957497b3 817 | [UIScrollView 实践经验]:http://tech.glowing.com/cn/practice-in-uiscrollview/ "UIScrollView 实践经验" 818 | [更轻量的 View Controllers]:http://objccn.io/issue-1-1/ "更轻量的 View Controllers" 819 | [整洁的 Table View 代码]:http://objccn.io/issue-1-2/ "整洁的 Table View 代码" 820 | [View Controller 容器]:http://objccn.io/issue-1-4/ "View Controller 容器" 821 | [代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧]:http://onevcat.com/2013/12/code-vs-xib-vs-storyboard/ "代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧" 822 | 823 | [Core Animation]: "" 824 | [Core Animation Programming Guide]:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html "Core Animation Programming Guide" 825 | [Core Animation Programming Guide 译]:http://www.cnblogs.com/xdream86/p/3250782.html "Core Animation Programming Guide 译" 826 | 827 | [编码规范]: "" 828 | [Coding Guidelines for Cocoa]:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html 829 | [objc-zen-book]: https://github.com/objc-zen/objc-zen-book 830 | [写iOS SDK注意事项]: http://blog.devtang.com/blog/2015/01/31/write-sdk-tips/ 831 | 832 | [测试]: "" 833 | [Testing with Xcode]:https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/Introduction/Introduction.html 834 | [行为驱动开发]: http://objccn.io/issue-15-1/ 835 | [XCTest 测试实战]: http://objccn.io/issue-15-2/ 836 | [依赖注入]: http://objccn.io/issue-15-3/ 837 | [糟糕的测试]: http://objccn.io/issue-15-4/ 838 | [置换测试: Mock, Stub 和其他]: http://objccn.io/issue-15-5/ 839 | [UI 测试]: http://objccn.io/issue-15-6/ 840 | [截图测试]: http://objccn.io/issue-15-7/ 841 | [TDD的iOS开发初步以及Kiwi使用入门]: http://onevcat.com/2014/02/ios-test-with-kiwi/ 842 | [Kiwi 使用进阶 Mock, Stub, 参数捕获和异步测试]: http://www.onevcat.com/2014/05/kiwi-mock-stub-test/ 843 | [测试 View Controllers]: http://objccn.io/issue-1-3/ 844 | 845 | [并发编程]: "" 846 | [Concurrency Programming Guide]:https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html 847 | [Threading Programming Guide]:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html 848 | [pthread手册]: https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man3/pthread.3.html 849 | [并发编程:API 及挑战]: http://objccn.io/issue-2-1/ 850 | [常见的后台实践]: http://objccn.io/issue-2-2/ 851 | [底层并发 API]: http://objccn.io/issue-2-3/ 852 | [线程安全类的设计]: http://objccn.io/issue-2-4/ 853 | [测试并发程序]: http://objccn.io/issue-2-5/ 854 | [使用GCD]: http://blog.devtang.com/blog/2012/02/22/use-gcd/ 855 | [走进Run Loop的世界 (一):什么是Run Loop?]: http://chun.tips/blog/2014/10/20/zou-jin-run-loopde-shi-jie-%5B%3F%5D-:shi-yao-shi-run-loop%3F/ 856 | [走进Run Loop的世界 (二):如何配置Run Loop Sources]: http://chun.tips/blog/2014/10/20/zou-jin-run-loopde-shi-jie-er-:ru-he-pei-zhi-run-loop-sources/ 857 | 858 | [网络编程]: "" 859 | [Networking Concepts]:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingConcepts/Introduction/Introduction.html 860 | [Networking Overview]:https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Introduction/Introduction.html 861 | 862 | [内存管理]: "" 863 | 864 | [XML & JSON]: "" 865 | 866 | [地图 & 定位]: "" 867 | [Location and Maps Programming Guide]:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html 868 | 869 | [国际化]: "" 870 | [Internationalization and Localization Guide]:https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.html 871 | 872 | [二维码]: "" 873 | [在iOS中使用ZXing库]: http://blog.devtang.com/blog/2012/12/23/use-zxing-library/ 874 | 875 | [字体]: "" 876 | [iOS 7支持的字体列表]: http://support.apple.com/zh-cn/HT5878 877 | [动态下载苹果提供的多种中文字体]: http://blog.devtang.com/blog/2013/08/11/ios-asian-font-download-introduction/ 878 | 879 | [苹果开发者账号]: "" 880 | [苹果开发者账号那些事儿(一)]: http://ryantang.me/blog/2013/08/28/apple-account-1/ 881 | [苹果开发者账号那些事儿(二)]: http://ryantang.me/blog/2013/09/03/apple-account-2/ 882 | [苹果开发者账号那些事儿(三)]: http://ryantang.me/blog/2013/11/28/apple-account-3/ 883 | 884 | [经验之谈]: "" 885 | [iOS开发如何提高]: http://blog.devtang.com/blog/2014/07/27/ios-levelup-tips/ 886 | [iOS开发如何快速成长?]:http://www.jianshu.com/p/5adb536fd32b 887 | 888 | [读书笔记]: "" 889 | 890 | [交互设计]: "" 891 | [iOS Human Interface Guidelines]:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/ 892 | 893 | [调试技巧]: "" 894 | 895 | [工具]: "" 896 | [CocoaPodsByMatttThompson]:http://nshipster.com/cocoapods/ "CocoaPodsByMatttThompson" 897 | [CocoaPodsByMatttThompson译]:http://nshipster.cn/cocoapods/ "CocoaPodsByMatttThompson译" 898 | [CocoaPods安装和使用教程]: http://code4app.com/article/cocoapods-install-usage "CocoaPods安装和使用教程" 899 | [用CocoaPods做iOS程序的依赖管理]: http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ "用CocoaPods做iOS程序的依赖管理" 900 | [CocoaPods最佳实践探讨]: http://weibo.com/p/1001603800875490492754 "CocoaPods最佳实践探讨" 901 | [极速化 CocoaPods]: http://icyleaf.com/2015/01/speed-up-cocoapods/ "极速化 CocoaPods" 902 | [深入理解 CocoaPods]: http://objccn.io/issue-6-4/ "深入理解 CocoaPods" 903 | [使用Objective-C的文档生成工具:appledoc]: http://blog.devtang.com/blog/2012/02/01/use-appledoc-to-generate-xcode-doc/ "使用Objective-C的文档生成工具:appledoc" -------------------------------------------------------------------------------- /scripts/make_toc.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | File.open("../README.md", 'r') do |f| 3 | f.each_line do |line| 4 | forbidden_words = [ 5 | 'iOS开发参考资料', '目录'] 6 | next if !line.start_with?("#") || forbidden_words.any? { |w| line =~ /#{w}/ } 7 | title = line.gsub("#", "").strip 8 | href = title.gsub(" ", "-").downcase 9 | puts " " * (line.count("#")-1) + "* [#{title}](\##{href})" 10 | end 11 | end --------------------------------------------------------------------------------