老司機 iOS 週報 #102 | 2020-02-24

老司機iOS週報發表於2020-02-24

老司機 iOS 週報,只為你呈現有價值的資訊。

你也可以為這個專案出一份力,如果發現有價值的資訊、文章、工具等可以到 Issues 裡提給我們,我們會盡快處理。記得寫上推薦的理由哦。有建議和意見也歡迎到 Issues 提出。

新聞

Swift Playgrounds For Mac

@張嘉夫:Swift Playgrounds 最初於 2016 年在 iPad 上釋出,目的是為普通使用者提供一種友好的方式來學習 Swift 語言。現在使用 Catalyst 技術製作的 Mac 版本已經發布,在 Mac App Store 上可以免費下載,大小為 155.1 MB,需要 macOS 10.15.3 Catalina 或更新的作業系統。

文章

? 從探索到落地,手淘引入 Swift “歷險記”

@JimQ:本文還原了手淘 iOS APP 歷時一年將 Swift 語言從調研到基礎設施建設,再到順利落地業務的全過程,其推進的策略、所遇到的問題及其解決方案,對國內還在躊躇如何落地 Swift 的同學具有很好的借鑑意義。

? iOS Performance tips you probably didn't know

@EyreFree:作者為前蘋果工程師,有多年蘋果系統庫和系統應用開發經驗。文中介紹了 UILabel 和 tag 在資源佔用與效能上的一些問題,並且討論了多執行緒程式設計時的一些影響執行效率的細節。文中也提到了某些控制元件的快取會在收到 didReceiveMemoryWarning 時進行釋放(例如 UICollectionView 的重用區),開發者不必對 App 的高記憶體使用率耿耿於懷,模擬“記憶體警告”可以觀察這一現象。建議對效能優化感興趣的朋友閱讀。

? 有贊iOS-基於二進位制的編譯提效策略

@蓮叔:iOS 從推出至今已經超過 10 年,越來越多的 iOS 工程都變得十分龐大。元件二進位制化變為越來越主流的優化方案,能夠顯著減少全量編譯的耗時。這篇文章介紹了有贊在優化過程中的一些心得。其中包含了一些比較零碎的優化手段,如 Xcode 編譯優化,CCache 優化等,也包含一套相對完成的 Pod 二進位制方案的介紹。整體還算比較體系,比較適合不願意投入太多時間整理架構的中小型公司參考。大公司往往都有自己的打包架構,不一定適用。

? Standard Library Preview Package

@AidenRao:Swift 團隊針對 Swift 迭代,新增標準庫的預覽版,提供給開發者使用。Swift 團隊在正式版本之前,可以通過預覽版的使用反饋,來做 API 的調整。

工具

? URLFormat

@極速男孩:這是在 [vapor] (github.com/vapor/vapor) 中基於 common-parsers 的不需要使用正則並且型別安全的來對 url 請求進行匹配的工具。

? Swift 編寫的 iOS 端抓包工具(Knot)

@老峰:已支援的動能:

  • Http、Https 流量抓取
  • 流量解析、多格式匯出、過程分析
  • 可抓取區域網內其他裝置與外界通訊資料
  • CA 證書安裝、匯出
  • 中英文國際化
  • 過濾規則配置、匯出

? swift-doc - Generates documentation for Swift projects

@水水:swift-doc 可以為你的 Swift 專案生成文件,能給定 Swift 檔案的目錄,為每個類、結構、列舉和協議以及頂級型別別名、函式和變數生成 CommonMark(Markdown)檔案。 swift-doc 支援以命令的形式安裝和使用在 MacOS 和 Linux 系統上。 雖然目前輸出僅限於 CommonMark,但計劃同時支援 HTML 和其他格式。該專案正在積極開發中,預計在首次穩定釋出前會有顯著變化。

程式碼

? ? 開源 | Objective-C & Swift 最輕量級 Hook 方案

@zvving:位元組跳動技術團隊帶來一套基於訊息轉發機制的 instance 粒度的輕量級 hook 方案:SDMagicHook。

相較於 StingerAspects,SDMagicHook 只支援例項緯度的 hook,函式替換、訊息排程等過程都在 objc 層面處理,框架實現更輕量,原始碼更易懂。本文詳細描述了其實現過程,推薦閱讀學習。

swift-checkit

@享耳先森:這個庫起源於作者遇到一個 bug:自定義了一個 collection,但對 index 處理和 SDK 行為不一致。所以作者寫了這個庫,面向協議的介面抽象了測試用例,一行程式碼即可完成協議 Conformance 的測試。

? ? Flutter:影象的爆炸動畫?

@CrazyCoderShi:文章展示瞭如何使用 Flutter 粒子動畫完成一個效果爆炸的動畫效果,效果流暢.

Thinking in SwiftUI

@老驢:objc.io 又要出新書了!這次是 SwiftUI 相關的書。根據目前的簡介,本書將會專注在幫助大家從物件導向程式設計的思維轉變成宣告式程式設計。

現在預購的話可以 early access 本書的內容,不過,估計喵神之後也會出對應的中文版,如果想看中文版的童鞋可以再等等。

內推

老司機週報團隊聯合知識小集和 SwiftGG 翻譯組收錄了一份靠譜的內推職位。

如果你想找工作,點這裡:www.yuque.com/iosalliance…

如果你想招人,點這裡:www.yuque.com/iosalliance…

當然,也歡迎你關注我們每一期的週報,我們會在每期週報底部及時更新編輯內推崗位。

關注我們

我們開通了公眾號,每期釋出時公眾號(OldDriverWeekly)會推送訊息,歡迎關注。

老司機 iOS 週報 #102 | 2020-02-24

同時也支援了 RSS 訂閱:github.com/SwiftOldDri…

說明

? 表示需翻牆,? 表示編輯推薦

預計閱讀時間:? 很快就能讀完(1 - 10 mins);? 中等 (10 - 20 mins);? 慢(20+ mins)

相關文章