iOS開發周報:iPad Pro 或于 13 日發布,App Store 添加新的購物分類
新聞
-
Apple 在 App Store 中新加了購物分類 :在以前,很多電商類的 app 都被放到了生活類下,不過其實生活類 app 包羅萬象,像是日記類 app 或者食譜類 app 會更適合這個分類。最近,Apple 在 App Store 中添加了一個購物 (Shopping) 的分類,這將會是這類電商 app 更好的歸宿。在 app 數量爆炸的今天,更多的分類意味著 app 曝光可能性的增加以及潛在用戶更容易發現你的 app,這對開發者和消費者來說都是好消息。
-
第三方零售商將于 13 日開始 iPad Pro 發貨 :雖然 Apple 官方并沒有給出 iPad Pro 的具體發售日期,只是籠統地說會在 11 月發布,不過根據一些零售商的行為來看,這款設備已經離我們很近了。歐美一些零售商接受 iPad Pro 預訂并將于本月 13 日開始發貨。不出意外的話,這也將是 Apple 官方發布 iPad Pro 的日期。
-
XcodeGhost 持續影響 iOS 開發 :如果你認為一個多月前的 XcodeGhost 事件已經徹底完結的話,你就大錯特錯了。近日美國一家信息安全公司發現有一些 XcodeGhost 的變種版本能夠作用于 Xcode 7 和 iOS 9,并繞開 ATS (App Transport Security) 系統以及逃避靜態分析工具的檢測。另外,一些使用了被感染的 Xcode 編譯的 第三方庫中也會帶有 XcodeGhost ,這使得即使你的 Xcode 沒有問題,但是只要使用了這樣的第三方庫,最后編譯的 app 依然是被植入病毒的版本。
教程
-
Why is Swift's String API So Hard? :在 Swift 中字符串類型的處理很有意思,對應的 API 遠比我們想象的復雜。作為一門沒有歷史包袱的語言,Swift 為什么會在字符串上選擇了現在這樣的處理方式,以前 C 系語言的字符串處理有什么問題?這篇文章從深層次講述了為何 Swift 的字符串會設計成現在的樣子。
-
Elastic view animation using UIBezierPath :作者通過
UIBezierPath實現了一個彈性下拉刷新的控件。這篇文章是這一實現過程的一個教程,寫得非常詳細。如果你對貝塞爾曲線的使用還不熟悉,或者對如何制作一個類似的自定義控件毫無頭緒的話,這篇文章為你提供了一個很好的范例。 -
關于 @synchronized,這兒比你想知道的還要多 :一篇翻譯文章,介紹了
@synchronized背后的故事。如果你已經使用 Objective-C 編寫過任何并發程序,那么想必是見過@synchronized了。它的作用類似于鎖,用來防止不同的線程同時執行同一段代碼。這篇文章對這背后都發生了什么進行了一些探索。 -
被誤解的 MVC 和被神化的 MVVM :如何避免把 MVC (Model View Controller) 寫成 Massive View Controller 可以說一直是 iOS app 架構上的重點,MVVM 是一種選擇。但是 MVVM 也并不是萬能的,辯證地看的話,在 MVVM 幫助解決耦合的通過,它也存在一些缺點。這篇文章簡述了 MVC 和 MVVM 的一些各自的特點,可以作為我們在設計一個 iOS app 架構時的參考。
開源項目
-
YYText :功能強大的 iOS 富文本編輯與顯示框架,相當于將 UILabel 和 UITextView 的開源實現。這組實現和 UIKit 中的類似,是基于并擴展了 CoreText 的特性。相較于系統的原生實現,這個開源實現讓你有機會根據項目需求進行自己的調整,這在復雜的圖文混排應用場景中會比較有用。
-
Unbox :又一個 Swift 的 JSON 解析框架。因為在 Swift 中,不提倡像 Objective-C 那樣大范圍使用動態特性,因此在 JSON 解析方面一直沒有特別好的自動化方案。這個項目和已有的像是 Himotoki 或者 Argo 來說并沒有特別大的不同,不過實現上要簡單不少,可以作為備選的方案。
-
Prephirences :如果你還在使用
NSUserDefaults來保存用戶設置的話,現在可以考慮更好一些的方式了。Prephirences 可以讓我們很輕松地在NSUserDefaults,Core Data,Keychain 等不同情境下保存用戶設置。另外,你也可以輕易地合并不同的設置中的值。 -
Armchair :Swift 寫的用戶評論管理,支持 iOS 和 OSX 中在一定條件下彈出讓用戶進行評論的對話框。這個框架和 Objective-C 中的 iRate 和 Appirater 等比較類似,包含了基本所有支持的本地化語言,并且可以通過各種條件來控制是否彈出評論提示。