這份學習資料是爲 iOS 初學者所準備的, 旨在幫助 iOS 初學者們快速找到適合本身的學習資料, 節省他們搜索資料的時間, 使他們更好的規劃好本身的 iOS 學習路線, 更快的入門, 更準確的定位的目前所處的位置.
html
該 文檔會持續更新, 同時也歡迎更多具備豐富經驗的 iOS 開發者將本身的經常使用的一些工具, 學習資料, 學習心得等分享上來, 我將按期篩選合併, 文檔尚有一些不完善之處, 也請不吝指出, 感謝您對 iOS 所作的貢獻, 讓咱們一塊兒把國內的 iOS 作得更好, 謝謝.react
該文檔託管在 GitHub 上, 項目地址: https://github.com/Aufree/trip-to-iOSgit
視頻 | 簡介 |
---|---|
Developing iOS 7 Apps for iPhone and iPad | 斯坦福開放教程之一, 課程主要講解了一些 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 很少, 不過質量都不錯, 一些課程也挺有趣的 |
Udemy | Udemy 幫助初學者規劃了視頻學習路線, 重新手到高級分的比較詳細 |
視頻 | 簡介 |
---|---|
iOS 7應用開發 | 斯坦福白鬍子老爺爺的系列視頻, 全部視頻皆完成翻譯, 視頻較新, 翻譯質量也很高 |
iPhone開發教程2010年冬 | 所有視頻翻譯完畢, 較爲深刻的講解 iPhone 開發, 視頻適合給有必定 Objective-C 基礎的人觀看 |
使用Swift開發iOS8 App實戰 | 慕課網的視頻, 主要講 Swift 的一些基本使用, 並在講解的過程當中作了幾個小 APP, 最後還講了 Sketch 製做分享按鈕 |
征戰Objective-C | 視頻還未完結, 講了一些 C 和 Objective-C 的基本語法, 適合零基礎的人觀看 |
書籍名稱 | 推薦理由 |
---|---|
Objective-C Programming | 內容很少, 卻都是精華, 有了一點 C 語言基礎能夠快速閱讀此書, 大概一天時間就能夠看完, 看完後對 iOS 開發可以有個基本的印象 |
iOS Programming | iOS 又一本極佳的入門書籍, 具體評價可見豆瓣下方該書籍的評論 |
Cocoa Design Patterns | 適合打算深刻了解 Cocoa 的人看 |
Learn Objective-C | 短小精練, 適合有編程基礎的人在半小時內對 Objective-C 有個必定了解 |
Programming with Objective-C | 看完 Learn Obj-C 能夠接着看這個官方對 Objective-C 更爲深刻的介紹 |
iPhone Programming | 這本書在 Quora 上被評爲 iOS 入門最佳書籍 |
Objective-C 基礎教程 | 該書做者 Scott Knaster 是 Mac 開發界的傳奇人物, 目前在 Google 出過多數書籍都廣受許多程序員好評, 此書適合從初級跳到中級的 iOS 開發者閱讀 |
iOS 開發進階 | 該書做者唐巧是國內 iOS 開發界的名人, 曾參與多個知名軟件的開發, 目前該書尚在預售中, 書本內容由淺入深, 將讀者一步一步引入到 iOS 中去, 一樣適合初級跳到中級的 iOS 開發者閱讀 |
Programming in Objective-C | 這本書在亞馬遜上面深受歡迎, 有關 Objective-C 的東西講得很是詳細 |
iOS 測試指南 | 該書做者是豆瓣的員工, 書中寫的多數內容都是做者在平時的工做實踐當中提煉出來的測試經驗, 重點講述了各個測試階段的具體實踐方法, 而且經過持續集成串聯了各個測試階段的活動。 |
Objective-C編程之道 | 解析 iOS 的開山之做, 詳細介紹了 MVC 在 Cocoa Touch 上的運做過程, 該書適用於 iOS 中級開發者閱讀 |
Objective-C高級編程 | 本書主要介紹 iOS 與 OS X 多線程和內存管理, 深刻破析了蘋果官方公佈的源代碼, 告訴你一些蘋果公司官方文檔中不會出現的知識, 適合中級以上 iOS 開發人員閱讀 |
Effective Objective C 2.0 | 書裏寫了編寫高質量iOS與OS X代碼的52個有效方法, 適合 iOS 開發的進階使用 |
Swift Fundamentals | 估計未來這本書會成爲 Swift 的經典入門書籍, 它的 Stars 數說明了一切 |
The Swift Programming Language 中文版 | 90 後開發者梁傑組織翻譯的 Swift 編程語言中文版 |
博客地址 | 博主信息 |
---|---|
OneV's Den | 王巍(喵神), 現居日本, 就任於 LINE, 知名 iOS 開發者, 寫的文章大多深刻淺出, 內容普遍, 目前在維護的 Swifter 也值得收藏 |
唐巧的技術博客 | 唐巧, 國內知名 iOS 開發者, 現就任於猿題庫, 博客推出的 iOS 移動開發週報很受歡迎, 更新頻繁 |
txx's blog | 90 後 iOS 開發者, 人稱蝦神, 文章內容講解大多淺白易懂, 很值得看 |
破船之家 | 博主也是 iOS 大神一個, 常常更新一些 iOS 教程, 文章的質量都很高, 很是值得看 |
NSHipster | NSHipster 的中文網站, 主要對 NSHipster 的英文網站進行翻譯, 博文出自 Mattt 大神之手, 文章大都寫得很深刻, 詳細, 每週一更 |
Limboy 無網不剩 | 李忠, 知乎前員工, 目前在負責花瓣 iOS 開發, 很多文章裏面有介紹博主我的的學習方法, 讓讀者在學到技術的同時也掌握學習的技巧 |
念茜的博客 | iOS 圈的女神人物, 寫的關於安全問題的文章都值得一看, 因爲新博客剛開通不久, 目前文章較少, 能夠去看下她之前的博客 |
iOS技術週報 | 吳發偉, 天貓資深軟件開發工程師, iOS 技術週報每週一更, 推送一些 iOS 技巧, 代碼庫, 設計等資訊. |
iWangKe.me | 王軻, IndieBros Studio 創始人, 優秀的 iOS 開發工程師, 寫的文章深刻淺出, 不少問題分析透徹, 很是有條理性 |
葉孤城 | 葉孤城, 優秀 iOS 開發工程師, 發表的文章都有不少乾貨, 對源碼解析類文章寫得淺顯易懂, 並時常總結一些 iOS 開發技巧, 值得一讀 |
Kevin Blog | 周楷雯, 秒視創始人, 知名 iOS 工程師, 作出了 PNChart 和 Waver 這樣的好項目, 在博客中也有談到具體的實現過程 |
IMTX | 圖拉鼎, 知名 Apple 平臺開發者, 曾經的 Ubuntu 平臺開發者, 文章有很多幹貨, 大多講解技術實現和學習經驗 |
更多 | 唐巧收集的中文 iOS/Mac 開發博客列表, 更新頻繁, 值得收藏 |
標題 | 內容簡介 |
---|---|
Learn Objective C: The Path to iPhone Development | Udemy 寫的文章, 說明了一些學習 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 | 做者總結了一些本身學習 iOS 的血的教訓, 最後給出了一些不錯學習建議 |
Become an iOS Developer | 做者列舉了一些學習 iOS 的方法以及經常使用的庫, 以及自學 iOS 的一些建議 |
iOS開發如何提升 | 唐巧寫的一篇文章, 主要是對 iOS 技術的提升作的一個總結, 文中很多資源, 工具, 學習方法 |
自學 iOS 開發的一些經驗 | 文章從入門到進階到高級, 分爲三個階段, 有條理的講出了 iOS 的整個學習過程當中開發者可能遇到的問題, 並給出瞭解決辦法, 奉獻了很多好工具, 資源還有珍貴的學習經驗 |
如何從 0 開始學 iOS 開發 | 做者給出了學習 iOS 的流程, 並給出一些不錯的學習資源 |
若是我能夠從新學習iOS開發 | 做者在文中給出了學習的一些建議, 也談到了本身的學習方法 |
iOS開發學習路徑的一些建議 | 文中談到了英語的重要性, 以及寫博客, 看源代碼的好處 |
iOS 開發入門 | 做者分享了本身學習 iOS 的經驗和資源 |
Mac 和 iOS 開發資源彙總 | 破船之家發佈的資源彙總 |
網站 | 簡介 |
---|---|
tutsplus | 不定時更新一些 iOS 教程 |
WWDC | 蘋果官方每一年一度的 WWDC 視頻, 能夠了解歷年有關 iOS 發佈的內容 |
ASCIIwwdc | WWDC 的文字版 |
Awesome Swift | 該網站收集了不少關於 Swift 的學習資料, 新聞 |
Appcoda | 常常發佈一些 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 | 常常更新一些很不錯的 iOS 代碼片斷和一些 iOS 資源 |
objc | 按期發佈一些有關 Objective-C 的高質量的文章 |
objc中國 | 喵神組織的對 objc.io 的翻譯網站, 旨在推動國內技術圈總體水平, 翻譯質量很是高 |
DevDiv | 發佈一些 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 | 蘋果官方的開發者論壇 |
工具/插件 | 簡介 |
---|---|
CocoaPods | 開發 OS X 和 iOS 應用程序的一個第三方庫的依賴管理工具, 自己是 Ruby 的一個 gem, 極大的簡化了 Objective-C 的開發流程 |
Alcatraz | Alcatraz 是一款管理 Xcode 插件、模版以及顏色配置的工具 |
XcodeColors | 使 Xcode 調試控制檯色彩更豐富 |
xctool | Facebook 開源的一個 iOS 編譯和測試的工具 |
XToDo | 一款註釋輔助插件,主要用於收集並列出項目中的TODO , FIXME , ??? , !!! |
KSImageNamed-Xcode | 自動補全圖片命名的一款插件 |
VVDocumenter | 一個自動生成代碼註釋的工具 |
ImageOptim | 用於壓縮圖片一款工具 |
iOS 必備的 75 個工具 | 其中包含了很是多好用的工具, 涉及到設計, 分析, 部署等, 總結的十分詳細, 有中文翻譯 |
更多 | 唐巧總結的一些圖形應用工具, 命令行工具, Xcode 插件, 並介紹了一點基礎的用法 |
主要對當前 GitHub 排名前 50 的項目作一個簡單的簡介, 方便初學者快速瞭解到當前 Objective-C 在 GitHub 的狀況.程序員
項目名稱 | 項目信息 |
---|---|
1. AFNetworking | 做 者是 NSHipster 的博主, iOS 開發界的大神級人物, 畢業於卡內基·梅隆大學, 開源了許多牛逼的項目, 這個即是其中之一, AFNetworking 採用 NSURLConnection + NSOperation, 主要方便與服務端 API 進行數據交換, 操做簡單, 功能強大, 如今許多人都用它取代 ASIHTTPRequest |
2. GPUImage | 一款強大的圖片濾鏡工具, 支持自定義濾鏡, 可用來實時處理圖片和視頻流, 做者是 SonoPlot 公司的 CTO, 在很小的時候便開始接觸編程, 他在 SO 上面的回答也有不少值得閱讀, GPUImage 這個項目從 2012 年開始, 使用 OpenGL 圖形程序接口編寫, 性能很是好, 如今不少 iOS 程序員都用它來實現 iOS 的模糊效果 |
3. three20 | 由 Facebook iOS 客戶端衍生出的一款 iPhone 框架, 內置許多豐富的功能, 有豐富的界面, 對底層的操做便捷, 爲開發者省下了不少時間, 但如今已經中止了更新, 一個 PR 把代碼刪得乾乾淨淨, 不要好奇去點開 Files changed, 我點開後該頁面直接卡死, three20 當中的一位做者建立了 Nimbus, 算是 three20 的一個替代品 |
4. RestKit | 主要用於 iOS 上網絡通訊, 容許與 RESTful Web 服務交互, 經常使用於處理 API, 解析 JSON, 映射響應對象等操做, 簡單易用, 方便你把全部精力都放在對數據的操做上 |
5. SDWebImage | 做者 Olivier Poitrey 是 Dailymotion 的 CTO, 擁有多個不錯的開源項目, 此項目經常使用於對從 Web 端接受到的圖片進行緩存, 是 UIImageView 的擴展, 應用起來比較簡單 |
6. ReactiveCocoa | 由 GitHub 工程師們開發的一個應用於 iOS 和 OS X 開發的函數響應式編程新框架, Matt 稱其爲 "An open source project that exemplifies this brave new era for Objective-C", 也有人說它是 Cocoa 的將來, 具體可看唐巧寫的這篇文章 |
7. MBProgressHUD | 做者 Matej Bukovinski 是一位全棧工程師, UI/UX 設計師, 此項目是一款提示框第三方庫, 幫助開發者快速應用到項目中) |
8. MagicalRecord | 做者是 Coursera 的 iOS 工程師, 該項目創做靈感來自於 Ruby on Rails 的 Active Record, 主要爲方便操做 CoreData 而生, 幫助清除 CoreData 引用的代碼, 協助方便 CoreData 的工做 |
9. FMDB | 一個對 SQLite 進行封裝的庫, 使用起來方便, 簡單 |
10. ASIHTTPRequest | 一個輕量級的 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 的一些功能到本身的 iOS APP 裏面 |
14. JSONKit | 主要用於解析 JSON, 適用於 iOS6 如下環境, 自從 iOS5 開始 Apple 官方給出了 NSJSONSerialization API, 自此你們都用官方的了 |
15. Slate | 一款窗口管理應用程序, 但在兩年前就已經中止更新了 |
16. Nimbus | 做者 Jeff 曾爲 Facebook, Google 作過很多好東西, 也是 three20 的成員之一, three20 停更後, 他創造出這個框架來代替 three20, 文檔齊全 |
17. FastImageCache | Path 公司出品的 iOS 庫, 做者 Mallory Paine 是蘋果前員工, 此類庫適用於在滾動時快速顯示圖像, 高速持久是其最大的特色 |
18. SVProgressHUD | 又一款輕量級的 iOS 第三方控件, 用於顯示任務加載時的動畫, 很是輕便, 容易使用 |
19. Shimmer | Facebook 推出的一款具備閃爍效果的第三方控件, 供它旗下一款名爲 Paper 的應用使用, 安裝使用整個過程都十分簡單 |
20. CocoaLumberjack | 這是 Mac 和 iOS 的一款強大的日誌框架, 配置簡單, 多線程, 提供更高級的 log 功能, 可用於代替默認的 NSLog 語句 |
21. ViewDeck | 一款開源的 iOS 活動面板組件, 還原 Path 2.0 的側滑效果, 做者由於時間關係在兩年前中止對其更新 |
22. Alcatraz | Alcatraz 是一款管理 Xcode 插件、模版以及顏色配置的工具, 能夠集成到 Xcode 的圖形界面中, 安裝刪除都是幾條命令的事, 很方便, 支持本身開發插件並上傳 |
23. OpenEmu | 超強的遊戲模擬器, 作遊戲開發必備, 官網作得也很不錯 |
24. AsyncDisplayKit | Facebook 開源的一款 iOS UI 框架, Paper 用的就是該框架, 另外框架還用到了 Facebook 早期開源 Pop 動畫引擎 |
25. Xctool | 是 Facebook 開源的一個命令行工具,用來替代蘋果的 XcodeBuild 工具, 極大的方便了 iOS 的構建和測試, 輸出錯誤信息也比較友好, 受到許多 iOS 開發者的稱讚, 常常與其搭配使用的還有 OCUnit, Travis CI, OCLint 等測試工具 |
26. iCarousel | 做者是英國 Charcoal Design 公司的創始人, 開源領域的貢獻頗爲卓著, 這個項目就是其中之一, 這是一款能夠在 iOS 上實現旋轉木馬視圖切換效果的第三方控件, 並提供多種切換效果 |
27. FLEX | 這是 Flipboard 官方發佈的一組專門用於 iOS 開發的應用內調試工具, 開發者無需將其鏈接到 LLDB/Xcode 或其餘遠程調試服務器,支持直接在 App 中運行 |
28. Cocos2D Swift | 這是 Swift 語言版本的 Cocos2D 遊戲開發引擎, 核心開發者是 Ricardo Quesada, 已經爲該項目貢獻了 100W 行左右代碼, GitHub 上更新較爲頻繁 |
29. TapkuLibrary | 做者是 Devin Ross, 這是在 iOS 上一款功能強大的 UI 效果類庫, 能夠實現多種酷炫的效果, 目前仍在更新中 |
30. Masonry | 一個輕量級的佈局框架, 同時支持 iOS 和 Mac OS X, 語法優雅, 幫助開發者快速適配不一樣分辨率的 iOS 設備 |
31. AwesomeMenu | 做者是一位中國人, 該項目主要是使用 CoreAnimation 還原了 Path menu 的動畫效果 |
32. PonyDebugger | 由 Square 公司推出的一款優秀的 iOS 應用網絡調試工具, 用戶能夠實時看到應用程序的網絡請求, 也能夠對 iOS 應用程序的核心數據棧進行遠程調試 |
33. NewsBlur | 做者獨自一我的 Samuel Clay 作出來的一款名爲 NewsBlur 的新聞閱讀器, 不少人都稱其爲 Google Reader 的替代品, 這是它的源碼 |
34. JVFloatLabeledTextField | 做者是 Thumb Labs 的聯合創始人, JVFloatLabeledTextField 是 UITextField 的子類, 主要實現輸入框標籤浮動效果, 創做靈感來自 Dribbble, 已出現多個移植版本 |
35. Json Framework | 用於解析 JSON 數據的一個框架, 可是在 iOS5 以上版本大多數人都選擇使用 NSJSONSerialization 來解析 JSON, 該項目如今在 GitHub 上也幾乎沒怎麼更新了 |
36. The Physical Web | 由 Chrome 團隊主導的一個項目, 意在用 URL 鏈接世界, 方便用戶接受數據, 目前尚處在實驗階段 |
37. Reachability | Reachablity 是用於檢測 iOS 設備網絡環境的庫 |
38. RESideMenu | 做者 Roman Efimov 是雅虎的 iOS 工程師, 這個項目實現了 iOS 上的菜單側滑效果, 創意來源於 dribbble, 該項目支持 iOS8 |
39. CocoaAsyncSocket | 一個功能強大、簡單易用的異步 socket 通信類庫, 支持 TCP 和 UDP 協議, 可用於 Mac 和 iOS 設備上, 做者 Robbie Hanson 是 Deusty 的首席軟件工程師 |
40. ECSlidingViewController | 一個視圖控制器容器, 將子視圖處理成兩層, 經過滑動來處理層的切換, 創做靈感來自 Facebook 和 Path的 APP, 做者是 Cleveland 的員工 |
41. SWTableViewCell | UITableViewCell 的子類, 實現了左右滑動顯示信息視圖並調出按鈕 |
42. TTTAttributedLabel | UILabel 的替代品, 使 iOS 上的 Label 功能更加豐富, 可支持連接植入等功能 |
43. Canvas | 無需編碼實現牛逼的動畫效果的庫, 連設計師均可以快速上手 |
44. SocketRocket | Square 公司開源的一個 WebSocket 客戶端, 穩定而且易用, 作實時應用常會用到, 受廣大開發者喜好 |
45. Tweaks | Facebook 開源的一款工具, 旨在幫助 iOS 開發者更快的迭代應用, 方便用戶動態的調整參數, 是的, Paper 這個項目也用到了 |
46.JSQMessagesViewController | 優雅的 iOS 消息類庫, 經常使用於聊天應用中, 可定製性高 |
47. PNChart | 做者周楷雯是 90 後, 秒視的創始人, 該項目是一個帶動畫效果的圖表控件, 簡約易用, 受到很多開發者喜好 |
48. VVDocumenter-Xcode | 做者是王巍國內著名的 iOS 開發者, 人稱喵神, 目前在日本 LINE 公司工做, 該項目幫助開發者輕鬆的生成註釋文檔, 節省了很多工做量, 贊 |
49. Appirater | 一款用於提醒用戶給你的 APP 打分的工具 |
50. BlocksKit | 一個開源的與 Cocoa 緊密集合的基礎性框架 |
iOS Dev Weekly (每週一期,內容多爲這一星期裏值得關注的 GitHub 項目、文章、工具等)github
iOS Design Weekly (Tips, news and inspiration delivered each week)web
iOS Developer Library (iOS 開發必看, 有此文檔足矣, 內容很是之詳細)objective-c
網址 | 簡介 |
---|---|
App Store Review Guidelines | iOS 應用商店審覈指南, 有中文翻譯版 |
Swift 語言指南 | 有不少豐富的 Swift 學習資料, 學習 Swift 有這份資料能夠省下不少力氣 |
蘋果 Xcode 幫助文檔閱讀指南 | Tinyfool 推出的一篇對於幫助新手閱讀官方文檔的指南 |
Get started with your iOS developer pragram | 蘋果寫的一篇入門指南, 粗略講解了 iOS 程序從開發到上架的整個流程 |
Teamtreehouse | 文章主要講解 Objective-C 的一些語法, 文章內容有趣且通俗易懂 |
A map for iOS development | 一張 iOS 開發地圖, 作得很贊, 看完對 iOS 開發流程有必定的認知 |
Start Developing iOS Apps Today | 蘋果官方給出的 iOS 入門教程, 看過以後可以作一個 To-Do 小程序 |
Ry’s Objective-C Tutorial | 講解 Objective-C 的教程, 圖文並茂, 適合新手閱讀 |