iOS開發周報:iOS 8.4.1 發布,iOS 8 時代謝幕
新聞
-
Apple 發布 iOS 8.4.1 :本周 Apple 發布了新的系統補丁,主要修正了一些 Apple Music 的問題,以及修復了一些安全隱患。如果不出意外的話,這將是 iOS 8 時代的最后一個補丁。在這一年內,Apple 在 iPhone 上的銷售取得了巨大的成功,大屏幕的 iPhone 再一次激活了市場,也成功地將一些原來的大屏安卓用戶轉化為了 iOS 用戶。在系統方面,現在已經有 85% 的設備 在運行 iOS 8,可以說 iOS 8 取得了巨大的成功。作為繼任者的 iOS 9 即將在秋天和新一代 iPhone 一起發布,讓我們開始期待新系統的特性給我們的開發和生活帶來的改變吧。
-
自動駕駛汽車?Apple Car? :有資料顯示,Apple 正在灣區和硅谷測試一款無人駕駛的汽車,這讓人不禁浮想聯翩,莫非這會是 Apple Car 或者 iCar 的原型?早有傳言說 Apple 有意進軍汽車行業,但是到現在為止,我們只看到了 Apple 和汽車廠商合作推出的 CarPlay - 一個能讓你配合你的汽車使用 iPhone 的橋接方案。在 Google,特斯拉,以及一些其他科技廠商都在不斷嘗試在汽車這一傳統領域做些什么的時候,我們也有理由相信 Apple 可能也會有所動作。如果這屬實的話,我們至少接下來應該還能聽到不少關于 Apple Car 的消息,讓我們拭目以待吧。
教程
-
Cloud Kit :NSHipster 的一篇文章的中文譯文。如果想自己獨立制作應用,有時可能需要寫一些后端代碼。即使對于能夠勝任這項工作的移動開發者而言,這不僅意味著要寫代碼,更多的是長期維護。相比于直接自己書寫后端代碼,我們可能更傾向于選擇一些現有的服務, Parse 和 LeanCloud 就是不錯的選擇。而從 iOS 8 開始我們現在可以使用 Cloud Kit 框架來作為 app 的后臺支持。這篇文章講述了一些 CloudKit 的基礎知識和使用,可以帶領你入門這個框架。
-
Don't let your UIViewController think for itself :為 ViewController 瘦身一直是 iOS 開發中的一個熱門話題,可以毫不夸張地說,看一個項目水平如何,是否具有優良的可維護性,一個重要的指標就是看項目中 View Controller 的復雜程度和代碼行數。如果我們能有效地減少 View Controller 的復雜度,就意味著 app 的實現邏輯會更加清晰,項目可維護性也會更好。作者通過一系列文章介紹了良好的 View Controller 的設計方法,這是其中的一篇,主要基于 MVVM 的模式對 View Controller 的實現和新功能的追加進行了一些討論。
-
Rich Text, Core Text :在 iOS 上,我們可以使用 Core Text 來處理富文本和排版的需求,但是這個框架并不是非常直觀,而且有不少小技巧和需要注意的地方。這篇文章介紹了一些 Core Data 的最佳實踐和注意事項,如果你在和 Core Text 打交道的話,推薦閱讀。
開源項目
-
SIFloatingCollection :一個很有意思的項目,它嘗試仿照實現了 Apple Music 里風格選擇的界面。相比于使用
UIKit
,這個項目可以說是另辟蹊徑,使用了SpriteKit
來進行制作和模擬,因此我們也可以很輕易地使用我們自己的形狀來重用這個庫,以滿足設計要求。雖然不能說這個實現十全十美,但是這確實給我們在實現一些動畫效果時提供了新的思路,除了UIKit
和UIDynamic
以外,我們還可以直接用像是SpriteKit
和box2d
這樣的東西來進行創作。 -
Parse-SDK-iOS-OSX :著名的 BaaS 公司 Parse 最近開源了它們的 iOS/OSX SDK。Parse 的服務雖然在國內可能訪問速度不是很理想,但是它們在服務的穩定性和 SDK 質量上一直有非常優異的表現。此次開源的 SDK 對于日常工作是 SDK 開發的開發者來說,是一個難得的學習機會。Parse 的存取操作涉及到很多多線程的問題,從 Parse SDK 的源代碼中可以看出,這個 SDK 的開發者對 iOS 開發多線程有著非常深厚的理解和功底,讓人嘆服。我個人推薦對此感興趣的朋友可以嘗試從閱讀
internal
文件夾下的兩個EventuallyQueue
文件開始著手,研究下 Parse 的底層多線程處理思路。 -
Loggerithm :一個在 Swift 中更好地輸出 log 的工具。可能并不是所有人都知道,我們在 Swift 中最常用的
println
只會在 Debug 下進行輸出,如果我們希望在 Release 版本中留下些什么有用的信息 (比如之后進行調試或確定 bug 時可能會需要) 的話,我們還是只能使用NSLog
才能在系統 log 文件中進行寫入。使用這個項目提供的 API 進行輸出的話,可以讓我們能無縫地在 Debug 和 Release 時使用合適的輸出方式;另外,這個框架提供分級輸出,配合XcodeColors
的話還可以直接在控制臺將不同級別的輸出用不同的顏色標記出來,看起來十分方便直觀。 -
Koloda :Swift 實現的很漂亮的卡片界面和動畫效果,對于一些基于卡片的 app 來說,可能是非常好的界面參考。框架的開發者選擇了和
UITableView
以及UICollectionView
類似的 API,因此使用起來也非常方便。