iOS開發周報:Xcode 7.1 和 Swift 2.1 更新,Apple TV 開發時代正式開啟
教程
-
《不可變對象的魅力》 :在開發中,我們應當盡可能地減少可變對象和狀態的存在,這也是 iOS 開發中更傾向和提倡使用
NSArray
或者NSDictionary
而不是NSMutableArray
以及NSMutableDictionary
的原因。作者通過了一個簡單的實例和在 ReactJS+Flux 中的類似案例來為我們說明了使用不可變對象背后的思想。 -
《iOS 比 Android 還不安全? - 記一次和阿里資深安全工程師蒸米的交流》 :隨著 XcodeGhost 和有米 SDK 非法獲取用戶 Apple ID 等事件后,iOS 系統的安全性和開發者的安全意識受到了高度重視。被我們認為安全的 iOS 系統實際上到底安全性如何?作為開發者我們應該做些什么來提高我們的應用的安全性?這篇文章對此進行了一些探討。
-
《Key Pinning in Mobile Applications》 :來自 PayPal 安全團隊工程師的一篇關于移動應用 SSL key pinning 的分享。Key Pinning 是一種通過安全上下文和標識設置來對 TLS 連接進行驗證的方式,用來保證客戶端和服務端的通訊加密。
-
《Exploring Apple’s 3D Touch》 :3D Touch 是搭載在 iPhone 6s 的屏幕壓感技術,通過使用 3D Touch 的簡單的 API,我們可以實現像是 Peek and Pop 這樣的操作或是從主屏幕上訪問快捷菜單。但是 3D Touch 并不止于此,新的 SDK 中還有壓感系數,施壓角度,高度等等一系列 API。雖然大部分參數都是針對于 Apple Pencil 的,但是這些 API 也側面反映了 3D Touch 的可能性。這篇文章中作者為我們介紹和分析了 3D Touch 中各 API 的使用方式和注意點。
-
《iOS JSON 模型轉換庫評測》 :Objective-C 作為一門動態特性極強和和基于運行時的特性,在 model 轉換處理上非常方便,這也使 iOS 開發中出現了不少 model 轉換的框架。作者將自己的 YYModel 和其他一些 model 轉換框架進行了性能評測和簡單分析。YYModel 在實現時所考慮的性能上的注意點不僅在框架開發中適用,其實在我們的 app 開發中也一樣值得注意。另外,作者的其他幾個 開源框架 質量也很高,非常值得一試。
開源項目
-
StarWars Animation :一個炫酷的 Star War 碎屏動畫特效,想要實現這個效果本身的話其實并用不了多少代碼,但是想要在保證運行效率的基礎上做到實際可用,就需要花費大量精力和不斷嘗試了。這個項目分別用
UIView
動畫,UIDynamic
,以及 OpenGL 三種方式來進行了實現,并對它們的運行效率進行對比。結果也在大家預料之中,直接使用 OpenGL 擁有最好的效果,而經過層層封裝,帶有物理特性,寫起來也最簡單的UIDynamic
運行最慢。在 這篇文章 中有對性能的進一步分析。 -
Instructions :在 app 開發中,一步步的引導教程是很常見的開發任務,但同時也是比較無趣和繁雜的部分,因為引導部分的定稿通常會在項目結束之前,這往往涉及到對現有實現的修改甚至 hack。但是引導教程本身又十分重要,它的好壞在很大程度上決定著用戶對 app 的第一感官。Instructions 就是一個專門幫助開發者簡化引導教程實現的框架,它以比較靈活的方式用標準的 Cocoa 設計思想來實現了簡化引導界面的制作。
-
BEMCheckBox :一系列優雅簡潔的勾選框視圖。相比于 iOS 系統的
UISwitch
控件,Checkbox 往往只在編輯列表的時候會被使用,如果你想要單獨使用類似的 checkbox,其實并不是很容易。這個框架為我們提供了很漂亮的實現,甚至包括各式樣的動畫效果,十分漂亮。