1. 程式人生 > >78.iOS最全學習資源彙總

78.iOS最全學習資源彙總

目錄:

第一部分: iOS 學習資源整理(包括視訊/教程/部落格/書記/外掛/社群/網站)
第一部分: iOS 各大牛部落格列表
第一部分: iOS github 上託管的各類第三方

----------------------------------------------------------------------------------------------------------------------------------

iOS 學習最全資料

這份學習資料是為 iOS 初學者所準備的, 旨在幫助 iOS 初學者們快速找到適合自己的學習資料, 節省他們搜尋資料的時間, 使他們更好的規劃好自己的 iOS 學習路線, 更快的入門, 更準確的定位的目前所處的位置.

該文件會持續更新, 同時也歡迎更多具有豐富經驗的 iOS 開發者將自己的常用的一些工具, 學習資料, 學習心得等分享上來, 我將定期篩選合併, 文件尚有一些不完善之處, 也請不吝指出, 感謝您對 iOS 所做的貢獻, 讓我們一起把國內的 iOS 做得更好, 謝謝.

視訊教程(英文)

視訊 簡介
斯坦福開放教程之一, 課程主要講解了一些 iOS 開發工具和 API 以及 iOS SDK 的使用, 屬於 iOS 基礎視訊
iOS 開發的進階課程, 開始涉及到 Core Animation, Core Data, OpenGL 等框架的應用
Lynda Lynda 上面 iOS 和 Objective-C 的學習資料比較多, 從初級到高階的都有, 覆蓋面比較廣, 無論 iOS 走到哪個層次, 都可以在上面挑到適合自己的課程
CodeSchool 上面的 iOS 不多, 不過質量都不錯, 一些課程也挺有趣的
Udemy Udemy 幫助初學者規劃了視訊學習路線, 從新手到高階分的比較詳細

視訊教程(中文)

視訊 簡介
斯坦福白鬍子老爺爺的系列視訊, 所有視訊皆完成翻譯, 視訊較新, 翻譯質量也很高
全部視訊翻譯完畢, 較為深入的講解 iPhone 開發, 視訊適合給有一定 Objective-C 基礎的人觀看
慕課網的視訊, 主要講 Swift 的一些基本使用, 並在講解的過程中做了幾個小 APP, 最後還講了 Sketch 製作分享按鈕
視訊還未完結, 講了一些 C 和 Objective-C 的基本語法, 適合零基礎的人觀看

書籍

書籍名稱 推薦理由
內容不多, 卻都是精華, 有了一點 C 語言基礎可以快速閱讀此書, 大概一天時間就可以看完, 看完後對 iOS 開發能夠有個基本的印象, 該書的官方論壇有各個章節習題的解答.
這本書在 Quora 上被評為 iOS 入門最佳書籍, 具體評價可見豆瓣下方該書籍的評論
短小精練, 適合有程式設計基礎的人在半小時內對 Objective-C 有個一定了解
看完 Learn Objective-C 可以接著看這個官方對 Objective-C 更為深入的介紹
該書作者 Scott Knaster 是 Mac 開發界的傳奇人物, 目前在 Google 出過多數書籍都廣受許多程式設計師好評, 此書適合從初級跳到中級的 iOS 開發者閱讀
該書作者唐巧是國內 iOS 開發界的名人, 曾參與多個知名軟體的開發, 目前該書尚在預售中, 書本內容由淺入深, 將讀者一步一步引入到 iOS 中去, 同樣適合初級跳到中級的 iOS 開發者閱讀
這本書在亞馬遜上面深受歡迎, 有關 Objective-C 的東西講得非常詳細
該書作者是豆瓣的員工, 書中寫的多數內容都是作者在平時的工作實踐當中提煉出來的測試經驗, 重點講述了各個測試階段的具體實踐方法, 並且通過持續整合串聯了各個測試階段的活動。
解析 iOS 的開山之作, 詳細介紹了 MVC 在 Cocoa Touch 上的運作過程, 該書適用於 iOS 中級開發者閱讀
本書主要介紹 iOS 與 OS X 多執行緒和記憶體管理, 深入破析了蘋果官方公佈的原始碼, 告訴你一些蘋果公司官方文件中不會出現的知識, 適合中級以上 iOS 開發人員閱讀
書裡寫了編寫高質量 iOS 與 OS X 程式碼的 52 個有效方法, 適合 iOS 開發的進階使用
估計將來這本書會成為 Swift 的經典入門書籍, 它的 Stars 數說明了一切

部落格

部落格地址 博主資訊
王巍(喵神), 現居日本, 就職於 LINE, 知名 iOS 開發者, 寫的文章大多深入淺出, 內容廣泛, 目前在維護的 Swifter 也值得收藏
唐巧, 國內知名 iOS 開發者, 現就職於猿題庫, 部落格推出的 iOS 移動開發週報很受歡迎, 更新頻繁
90 後 iOS 開發者, 人稱蝦神, 文章內容講解大多淺白易懂, 很值得看
破船之家 博主也是 iOS 大神一個, 經常更新一些 iOS 教程, 文章的質量都很高, 非常值得看
NSHipster 的中文網站, 主要對 NSHipster 的英文網站進行翻譯, 博文出自 Mattt 大神之手, 文章大都寫得很深入, 詳細, 每週一更
李忠, 知乎前員工, 目前在負責花瓣 iOS 開發, 不少文章裡面有介紹博主個人的學習方法, 讓讀者在學到技術的同時也掌握學習的技巧
念茜的部落格 iOS 圈的女神人物, 寫的關於安全問題的文章都值得一看, 由於新部落格剛開通不久, 目前文章較少, 可以去看下她以前的部落格
吳發偉, 天貓資深軟體開發工程師, iOS 技術週報每週一更, 推送一些 iOS 技巧, 程式碼庫, 設計等資訊.
王軻, IndieBros Studio 創始人, 優秀的 iOS 開發工程師, 寫的文章深入淺出, 很多問題分析透徹, 非常有條理性
葉孤城 葉孤城, 優秀 iOS 開發工程師, 發表的文章都有很多幹貨, 對原始碼解析類文章寫得淺顯易懂, 並時常總結一些 iOS 開發技巧, 值得一讀
周楷雯, 秒視創始人, 知名 iOS 工程師, 做出了 PNChart 和 Waver 這樣的好專案, 在部落格中也有談到具體的實現過程
IMTX 圖拉鼎, 知名 Apple 平臺開發者, 曾經的 Ubuntu 平臺開發者, 文章有不少乾貨, 大多講解技術實現和學習經驗
更多 唐巧收集的中文 iOS/Mac 開發部落格列表, 更新頻繁, 值得收藏

文章

標題 內容簡介
主要對 iOS 的開發環境進行了介紹, 並且涉及到了 Swift 的學習, iOS 上架的注意事項, iOS 的設計, 測試, 程式碼託管等, 講解較為廣泛, 同時也給出不少學習資源
作者總結了一些自己學習 iOS 的血的教訓, 最後給出了一些不錯學習建議
作者列舉了一些學習 iOS 的方法以及常用的庫, 以及自學 iOS 的一些建議
唐巧寫的一篇文章, 主要是對 iOS 技術的提高做的一個總結, 文中不少資源, 工具, 學習方法
文章從入門到進階到高階, 分為三個階段, 有條理的講出了 iOS 的整個學習過程中開發者可能遇到的問題, 並給出瞭解決辦法, 奉獻了不少好工具, 資源還有珍貴的學習經驗
作者給出了學習 iOS 的流程, 並給出一些不錯的學習資源
作者在文中給出了學習的一些建議, 也談到了自己的學習方法
文中談到了英語的重要性, 以及寫部落格, 看原始碼的好處
作者分享了自己學習 iOS 的經驗和資源
文章講解了 CocoaPods 的基本使用, 並且配上 AFNetworking 做出了一個小 Demo, 值得一看
作者簡單介紹了一下自己 iOS 開發的感受,也是他學習 iOS 開發的一個體系架構.
作者收集的 iOS 乾貨文章、blog.

相關網站

網站 簡介
不定時更新一些 iOS 教程
WWDC 蘋果官方每年一度的 WWDC 視訊, 可以瞭解歷年有關 iOS 釋出的內容
該網站收集了很多關於 Swift 的學習資料, 新聞
經常釋出一些 iOS 程式設計教程, 更新比較頻繁, 想了解更多可以檢視該網站的 About 介面
NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly.
Some tutorials about Core Graphic and Core Animation.
大把的 Objective-C, Swift, iOS 教程, 且全部免費, Raywenderlich 真是業界良心, 贊!

社群

工具/外掛

工具/外掛 簡介
開發 OS X 和 iOS 應用程式的一個第三方庫的依賴管理工具, 本身是 Ruby 的一個 Gem, 極大的簡化了 Objective-C 的開發流程
Alcatraz 是一款管理 Xcode 外掛、模版以及顏色配置的工具
Facebook 開源的一個 iOS 編譯和測試的工具
XToDo 一款註釋輔助外掛,主要用於收集並列出項目中的TODOFIXME???!!!
開發流程工具,將開發過程流程化,極大提高開發效率
其中包含了非常多好用的工具, 涉及到設計, 分析, 部署等, 總結的十分詳細, 有中文翻譯
更多 唐巧總結的一些圖形應用工具, 命令列工具, Xcode 外掛, 並介紹了一點基礎的用法

指南/教程

郵件訂閱

  • iOS Dev Weekly (每週一期,內容多為這一星期裡值得關注的 GitHub 專案、文章、工具等)
  • iOS Design Weekly (Tips, news and inspiration delivered each week)

文件

Awesome 系列

Raywenderlich 系列 (以下書籍目前均已更新至xcode7.0和swift2.0)

----------------------------------------------------------------------------------------------------

中文 iOS/Mac 開發部落格列表

本部落格列表會不斷更新維護,如果有推薦的部落格,請到此處提交部落格資訊

本部落格列表涉及的文章內容支援 定製化Google搜尋,特別感謝 JeOam 提供並幫助更新。

本部落格列表也提供同步更新的OPML檔案(下載OPML檔案),可供匯入到例如feedly等第三方定閱工具中,特別感謝 icepy 提供自動轉換指令碼。這裡有匯入教程


----------------------------------------------------------------------------------------------------------

 iOS github 上託管的各類第三方

UI

下拉重新整理
  • MJRefresh – 僅需一行程式碼就可以為UITableView或者CollectionView加上下拉重新整理或者上拉重新整理功能。可以自定義上下拉重新整理的文字說明。具體使用看“使用方法”。 (國人寫)
  • XHRefreshControl – XHRefreshControl 是一款高擴充套件性、低耦合度的下拉重新整理、上提載入更多的元件。(國人寫)
  • BreakOutToRefresh – 一個下拉重新整理打磚塊的開源 Swift 庫,能讓使用者在等待下拉重新整理的時候邊玩撞球遊戲邊等待。
  • KYJellyPullToRefresh – 實現彈性物理效果的下拉重新整理,神奇的貝塞爾曲線,配合UIDynamic寫的一個擬物的下拉重新整理動畫。
  • MHYahooParallaxView – 類似於Yahoo Weather和News Digest首屏的視差滾動。
  • SDRefreshView – 簡單易用的上拉和下拉重新整理(多版本細節適配)。
  • ZLSwiftRefresh – swift下拉重新整理/上拉載入更多,支援自定義動畫,整合簡單,相容UITableView/CollectionView/ScrollView/WebView。
  • refresher – swift,上拉和下拉重新整理。
  • ODRefreshControl – 原iOS6上的橡皮糖重新整理樣式,很有意思。現在也很多大的 App 在用,比如蝦米音樂和 QQ 客戶端。
  • PullToMakeSoup – PullToMakeSoup, 自定義下拉重新整理的動畫效果:煮飯, Yalantis新作!
  • TwitterCover – Twitter iOS客戶端的下拉封面模糊效果。
  • Replace-iOS – Replace-iOS 讓人眼前一亮的下拉重新整理(iOS)。
  • Animations – 封裝了一下,使用的時候只要兩行程式碼。一些動畫的飛機稿,都是一些單獨分離出來的用於測試的子動畫,現在統一歸類一下。
模糊效果
  • FXBlurView -be 支援iOS5.0以上版本,支援靜態、動態模糊效果,繼承與UIView的模糊特效。
  • VVBlurPresentation -很簡單易用的在原來viewconntroller基礎上做模糊,然後present新的viewcontroller的。
  • UICustomActionSheet – 通過模糊背景來著重強調與選單相關的元素–對話方塊 裡面已經收藏。
  • SABlurImageView – 支援漸變動畫效果的影象模糊化類庫。P.S. 與前幾天推存類庫 SAHistoryNavigationViewController 是同一位作者。
AutoLayout
  • Masonry – Masonry是一個輕量級的佈局框架,擁有自己的描述語法,採用更優雅的鏈式語法封裝自動佈局,簡潔明瞭並具有高可讀性( 使用介紹1 使用介紹2),iOS自適應前段庫-Masonry的使用),Masonry、Classy、ClassyLiveLayout介紹使用DEMO 檢視居中顯示、子檢視含邊距、檢視等距離擺放、計算ScrollView的contentsize。
  • ClassyLiveLayout – ClassyLiveLayout通過結合Classy stylesheets與Masonry一起使用,能夠在執行的模擬器中微調Auto Layout約束實時顯示效果的工具,Masonry、Classy、ClassyLiveLayout介紹
  • Snap – Snap是Masonry Auto Layout DSL的Swift版本,是一款輕量級的佈局框架,使用了更良好的語法封裝了AutoLayout。Snap支援iOS和OS X。
  • Auto-Layout-Showcase – swift,AutoLayout 進階 Demo,寬高比約束、比例約束、不等約束、視差約束、低優先順序約束等高階用法,無需寫碼即可進行復雜頁面佈局,Demo 還動態模擬了各螢幕下的效果。來自百度知道 iOS 小組的內部分享。
富文字
  • RTLabel – 富文字,RTLabel支援64位。
  • TYAttributedLabel – TYAttributedLabel。 簡單易用的屬性文字控制元件(無需瞭解CoreText),支援富文字,圖文混排顯示,支援新增連結,image和UIView控制元件,支援自定義排版顯示。
  • TQRichTextView – 用於做富文字檢視控制元件顯示,用於即時通訊的表情顯示,以及資源評論的富文字顯示。
  • TTTAttributedLabel – 一個文字檢視開源元件,是UILabel的替代元件,可以以簡單的方式展現渲染的屬性字串。另外,還支援連結植入,不管是手動還是使用UIDataDetectorTypes自動把電話號碼、事件、地址以及其他資訊變成連結。用TTTAttributedLabel建立變化豐富的UILabel – 網易新聞iOS版使用。
  • MLEmojiLabel – 自動識別網址、號碼、郵箱、@、#話題#和表情的label。可以自定義自己的表情識別正則,和對應的表情影象。(預設是識別微信的表情符號),繼承自TTTAttributedLabel,所以可以像label一樣使用。label的特性全都有,使用起來更友好更方便。
  • FXLabel – FXLabel是一個功能強大使用簡單的類庫,通過提供一個子類改進了標準的UILabel元件,為字型增加了陰影、內陰影和漸變色等,可以被用在任何標準的UILabel中。FXLabel還提供了更多控制元件,可以對字型行距、字型間距等進行調整。
  • WFReader – 一款簡單的coretext閱讀器,支援文字選擇、高亮以及字型大小選擇等。
  • WPAttributedMarkup – WPAttributedMarkup is a simple utility category that can be used to easily create an attributed string from text with markup tags and a style dictionary。
  • KMPlaceholderTextView – 可顯示多行 placeholder 的 textView,可以在IB裡面設定 — swift。
  • HHFlashSwitch – 一個另類的UISwitch,選擇後,背景水波擴散變色效果。
  • UUColorSwitch – Switch 開關動畫效果,當開啟開關時,Switch可實現平滑渲染過渡到父檢視的效果。
  • Shimmer – BlingBling閃光效果,酷炫的Label的效果,可以用於載入等待提示。
  • ZSSRichTextEditor – 適用於iOS的富文字WYSIWYG編輯器,支援語法高亮和原始碼檢視。ZSSRichTextEditor包含所有WYSIWYG標準的編輯器工具。
  • RichEditorView – swift,一套可定製富文字編輯器元件及示例。功能完整、程式碼簡練、實現邏輯巧妙(編輯器核心與 WebView 結合,採用 HTML5 contentEditable 編輯模式,執行JS 配套命令 execCommand 實現富文字編輯功能)。
  • DTCoreText – 可以解析HTML與CSS最終用CoreText繪製出來,通常用於在一些需要顯示富文字的場景下代替低效能的UIWebView。DTCoreText原始碼解析
  • CSGrowingTextView – 用作即時通訊文字框和評論文字框使用,可以顯示多行輸入。
  • 高仿微信限定行數文字內容 – 採用Autolayout高仿微信純文字限定行數。
  • LTMorphingLabel – swift 能夠實現文字變形動畫效果的Label,用Swift寫的一個能夠實現文字變形動畫效果的Label,很炫。
  • AttributedLabel – 顯示效能數量級 UILabel 的 AttributedLabel。無畏無懼、挑戰權威。
  • FFLabel – 自動檢測 URLs, @username, #topic# 等關鏈詞(提供響應擴充套件)。實用的標籤文字小元件。
圖表
  • PNChart – 國內開源作者,動態的圖表。
  • swift-linechart – 功能完整、實用的折線圖元件。使用方便,引數配置簡單。是不可多得的優質元件–swift。
  • ios-charts – 一款優秀 Android 圖表開源庫 MPAndroidChart 的 Swift 語言實現版(支援 Objective-C 和 Swift 呼叫)。預設提供的示例程式碼為 Objective-C。
  • TEAChart – xhacker/TEAChart 一個簡潔的 iOS 圖表庫,支援柱狀圖、餅圖以及日曆等。
  • YOChartImageKit – 支援在watchOS上繪製圖表,看它最近更新挺勤快的,可以關注一下。
  • RealtimeGradientText – Fun With CALayer Mask 剛好今天開源了一個有趣的專案 RealtimeGradientText,所以也好聊一下 CALayer 的 Mask,說明
表相關
  • WaterfallFlowDemo – 一個簡單的UICollectionView瀑布流佈局演示demo。
  • XLForm – 很多表格類的table,寫法更高冷一點,推薦使用。
  • RETableViewManager – 可以十分方便地生成各種樣式、各種功能的TableView。只要開發者能想到的列表效果或者功能,都可以利用這份程式碼迅速編寫出來。比如,之前要實現一個填寫各種資料的列表,可能需要很多程式碼,現在只需要幾行程式碼就可以實現。
  • UIScrollSlidingPages – 允許新增多檢視控制元件,並且可以橫向滾動。有點類似於Groupon app。
  • HBHorizontalTableView – swift,TableView 橫向滾動小示例(仿照 AppStore 應用展示)。
  • HorizontalScrollCell – HorizontalScrollCell是一款使用方便的水平方向可滾動的單元格,適用於UICollectionView中實現水片方向滾動檢視。 。
  • UUChatTableView – UUChatTableView 氣泡聊天介面,支援文字、圖片以及音訊的氣泡聊天介面。原始碼推薦說明
  • Chats – 聊天 UI 示例程式。此專案應該只為演示或學習之用,沒有伺服器 — swift。
  • Atlas-iOS – 快速在iOS裡整合聊天功能,類似開源版本的環信。Layer家開源了一套聊天app介面的解決方案.看起來很贊,很多蠻複雜的東西直接都幫封好了。不得不說現在做app開發真是很簡單,大部分時間搭積木就可以了。官方網站
  • DLSlideView – DLSlideView對常見的頂部Tab頁點選、滑動分頁做了封裝。它使用基於ViewController的container特性(而不是scrollview)來管理各個子頁面,以支援無限分頁,原始碼推薦說明
  • VOVCManager – 頁面管理器:1.跳轉指定頁面,只需要知道viewController的Class名,如果有storyboard,則需要指定storyboard名;2.無需新增基類;3.支援URLScheme跳轉指定頁面。
  • MBXPageViewController – 簡潔快速的頁面切換–MBXPageViewController,帶有按鈕控制元件的UIPageController,非常整潔、簡單以及快速。該專案通過三種形式展示頁面之間的切換,比如導航欄上的多個tab切換、頁面左右兩端箭頭指示切換,以及使用分段控制元件。
  • PagerTab – UIScrollView實現滑動轉換頁面,類似網易雲音樂iOS版的頁面滑動切換效果。
  • VOMetroLayoutDemo – Metro風格的UICollectionView, 目前只支援橫向佈局,僅在iPad上應用。
  • KYCellAnimation – 給UITableViewCell增加進入的動畫。
  • COBezierTableView – swift,通過編輯 Bezier 曲線四點位置設定 TableView 內 Cell 及對應按扭位置。實驗效果很贊。
  • RDVTabBarController – 一個TabBar元件,可以方便設定底部選單的文字圖片,點選效果,小紅點提示等。
    • LxTabBarController – 改變了原生tabbar切換tab時的生硬效果,並加入滑動切換手勢(有和介面上的其它手勢發生衝突的風險,可根據具體專案予以關閉),swift版本
  • 橫向展示文字內容的自定義cell – 可以橫向展示文字內容的自定義cell,根據文字無限滾動。
  • UITableView-FDTemplateLayoutCell – UITableView-FDTemplateLayoutCell 是一個方便快取 UITableViewCell 的高度的框架。
  • ExpandingStackCells – 採用 UIStackView 實現表格單元格擴充套件內容顯示示例及解決方案。
  • Sapporo – swift 單元格模型驅動的集合檢視管理器元件。又一個超實用的“輪子”。
  • MDIHorizontalSectionTableViewController – 根據產品需求開源了一個互動專案,可以理解為橫向Section的TableView,section和cell同時支援拖拽,後續安卓版本也會開源出來。