這份學習資料是為 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款注釋輔助插件,主要用于搜集并列出項目中的TODO , FIXME , ??? , !!! |
KSImageNamed-Xcode | 自動補全圖片命名的1款插件 |
VVDocumenter | 1個自動生成代碼注釋的工具 |
ImageOptim | 用于緊縮圖片1款工具 |
iOS 必備的 75 個工具 | 其中包括了非常多好用的工具, 觸及到設計, 分析, 部署等, 總結的10分詳細, 有中文翻譯 |
更多 | 唐巧總結的1些圖形利用工具, 命令行工具, Xcode 插件, 并介紹了1點基礎的用法 |
主要對當前 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 緊密集合的基礎性框架 |
網址 | 簡介 |
---|---|
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 的教程, 圖文并茂, 合適新手瀏覽 |
點擊該鏈接查看該項目的所有貢獻者
以上內容采取 CC BY-NC-SA 3.0 進行許可, 轉載請注明出處, 版權歸本人及所有貢獻者所有
GitHub 地址: https://github.com/Aufree/trip-to-iOS
未來我會在微博不定時推送1些較新的第3方的庫的使用, 歡迎關注 :D
上一篇 Android學習筆記二十二.使用ContentProvider實現數據共享(五).監聽ContentProvider的數據改變
下一篇 Hadoop “Unable to load native-hadoop library for your platform” error on CentOS