老司機 iOS 週報,只為你呈現有價值的資訊。
你也可以為這個專案出一份力,如果發現有價值的資訊、文章、工具等可以到 Issues 裡提給我們,我們會盡快處理。記得寫上推薦的理由哦。有建議和意見也歡迎到 Issues 提出。
新聞
iOS 11 App 上傳規則變化
2018 年 7 月份開始,所有上傳 App Store 的應用都必須是基於 iOS 11 SDK 編譯並適配 iPhone X 的解析度。當然,Apple 也對上傳流程做了進一步的優化。更多細節,請參照:developer.apple.com/ios/submit/
What's New In Vapor 3
Vapor 3 對 Vapor 進行了徹底的重新設計,為未來幾年的發展奠定了基礎,讓 Vapor 能夠成長和進化為最好的伺服器端 Swift 框架。Vapor 3 現在完美支援 Swift 4 的 Codable
,並且從同步阻塞架構進化為非同步非阻塞架構,同時還採用 Apple 新的開源伺服器端框架 SwiftNIO 來管理所有網路連線和 HTTP 解析。
在 apple/swift 的 tensorflow 分支上開發 Swift for TensorFlow
Swift for TensorFlow 的 Swift 編譯器開發在 google/swift 分支上,Ted Kremenek (Swift 專案新主管)和 Chris Lattner(Swift 之父)都認為將這個分支上的工作移動到 Apple/Swift 上直接開發,對 Swift 社群更有益處。這樣會讓 Swift 編譯器開發的協同工作集中到一箇中心,而且也能避免大家對於 Swift 產生方言的擔憂。
新分支 tensorflow 將會在近期建立,tensorflow 上開發的新功能,會通過 Swift 發展流程,將一部分合入 Swift 主分支,tensorflow 分支本身,也會密切追蹤 Swift 主分支的更新。
Ulysses 13 將更好的支援程式碼展示
最好的 MarkDown 寫作工具之一 Ulysses 對程式碼的展示一直不夠友好,最近宣佈將在下個版本中優化對程式碼段的展示,並且支援 github style。
文章
? AVAudioEngine Tutorial for iOS: Getting Started
音訊處理一直是 iOS 開發中非常棘手的一部分,因為在 iOS 8 之前只能使用低階的、晦澀難懂的 Core Audio 框架,但隨著 iOS 8 釋出了高階的音訊工具集 AVAudioEngine,我們不再需要深入挖掘 Core Audio 也可以實現音訊處理,這篇教程會為你介紹如何使用這個新工具。
? 深入瞭解Flutter介面開發
最近一段時間,通過學習瀏覽器核心的相關思想來做介面開發的框架層出不窮。從 Reactive Native、Samurai Native、Weex 到最近的 Flutter、Tangram,各個公司都結合自己的業務時間推出了對應的輪子。不過反過來想,輪子多的核心原因恰恰是其實目前還沒有完美的輪子。
這篇文章並不是 Flutter 的教程,而是重點介紹了 Flutter 的渲染流程和原理,以及探討了一些背後的 immutable 和 react 之間惺惺相惜的設計思想,很有價值。如果自己所在的團隊有這類輪子需求的同學,一定不要錯過。
? DEALING WITH DATES
時間對於在日常生活中的我們是簡單的概念,但是在程式設計領域卻是困難的。本文介紹了在 Apple 平臺下,如何利用系統框架來對時間進行正確的處理。
? Codable 與 JSONSerialization 效能測試
Swift 4 的新功能 Codable 可以自動生成解析 JSON 的構造器,但這些自動生成的程式碼跟我們手寫的有什麼區別呢?這篇文章的作者寫了一個效能測試去比較 JSONDecoder 和 JSONSerialization,文末作者表示雖然 Codable 生成的程式碼效率只有手動解析的一半,但比起這點效能消耗,絕大部分情況下 Codable 帶來的便利更加重要。
? 從原始碼看微信小程式啟動過程
這篇文章記錄了作者經過 3 個禮拜研究後,對小程式框架的基本程式碼結構,啟動流程以及程式例項化過程的理解,並且從小程式的啟動流程入手一步步解答了“框架對傳入的物件等到底做了什麼”的疑問。
? Memory Leaks in Swift
Leaks
相關的內容在業內雖然已經有很多文章了,但多數是以 OC 來做示例,文章從 Swift 角度講 Memory Leaks
是什麼、有哪些危害?為什麼會發生 Leak
?最後重點介紹了消除 Leaks
的幾種方式。
? Making illegal states unrepresentable
作者以 URLSession 為例,大致描述瞭如何通過 Swift 的強型別來消除不明確的狀態。在編譯器的幫助下,編寫出更加邏輯縝密的程式碼。
? ? Capture iOS simulator video for App Preview
這裡介紹了一個 XCode 模擬器的命令列小技巧,很方便的用簡單的命令列來實現將模擬器中的操作錄製成錄影,方便上傳到 AppStore 的錄影展示之中,瀏覽該網頁需要翻牆。
? ? ? Best iOS hacks from Twitter: March & April Edition
3 月 和 4 月整理自 Twitter 的各種 iOS 開發、除錯小技巧與冷知識,非常乾的乾貨,推薦花時間仔細閱讀,絕對會有所收穫。
音視訊
RWDevCon 2018 Vault Video Bundle
此係列視訊收費 $99,共 18 個主題:如 Serialization in Swift
、Auto Layout
、Clean Architecture
、Android
、TDD
、WKWebView
、ARKit
、Metal
等,如對其中兩個主題感興趣也就值回票價了。
內推
丁香園丁香媽媽團隊招中高階 iOS 工程師
新組建的團隊,有電商方面開發經驗優先,有意向請傳送簡歷到 gp@dxy.cn
百度文庫 / 百度閱讀,招聘 Android / iOS / Fe 高階 / 資深工程師
百度文庫 / 百度閱讀,招聘 Android / iOS / 前端 高階 / 資深工程師,座標北京百度科技園,有意向請傳送簡歷到 wangdefu@baidu.com
關注我們
我們開通了公眾號,每期釋出時公眾號會推送訊息,歡迎關注。
同時也支援了 RSS 訂閱:github.com/SwiftOldDri… 。
本期編輯
@沒故事的卓同學,@四娘,@mmoaay,@享耳先森,@EyreFree,@Damonwong,@折騰範兒_味精,@張嘉夫,@AidenRao,@Parsifal,@aaaron7,@方秋枋
說明
? 表示需翻牆,? 表示編輯推薦
預計閱讀時間:? 很快就能讀完(1 - 10 mins);? 中等 (10 - 20 mins);? 慢(20+ mins)