開發者週報 #33 動森都可以辦展了能不能辦 WWDC
Apple/iOS 開發者的一週大小事 2020/03/23-2020/03/29
13的話
這週東西好多啊,差點沒辦法去睡覺。(你確定不是因為動森?)
標題講的展覽是這個。
Apple 官方新聞新聞稿
Xcode 11.4 Release Notes
我在 Twitter 上有看到一些災情(抱歉,太細了,沒有記下來),所以開發時可以用,但要上架的話建議暫時用前一版。
Swift 5.2 Released!
同場加映 Swift 5.3 Release Process,要強化穩定與效能(好像每次都有這樣說啊),以及官方的 Windows 支援。(咦,沒有要順便支援 Android 啊?)
iOS & iPadOS 13.4 Release Notes
針對一般使用者的更新資訊
外接鍵盤時注音輸入法時有更聰明的自動選字(我還在適應)

"Live Conversion for Zhuyin automatically transforms Zhuyin into the correct characters without pressing the space bar to convert text or select candidates"
各位會在 iPad 上用外接鍵盤打注音的,我們已把 iOS 路上的最後一塊正體中文的絆腳石搬開了。 #iPadOS13.4 (1/2)

對台灣的 iPad 使用者而言,iPadOS 13.4 的注音可以讓外接鍵盤的中文輸入和一般電腦一樣順手。換言之,iPadOS 13.4 很有可能就是你「完全」取代中文筆電的一個重要里程碑。
#我要來去下單iPadPro跟蝴蝶鍵盤了
iPadOS Pointer Control 相關 API

You can distinguish between a screen tap and a trackpad touch event, and you get phase changes when hovering over designated pointer regions



Your UIPanGestureRecognizers can respond to trackpad-scroll events directly, which I hope solves a problem Catalyst has with non-scrollviews unable to receive two-finger scroll events


If you want a gesture recogniser that only detects two-finger scroll gestures, this is what you need. Works on iPadOS and Catalyst.
(Apple documentation not very helpful on this.)


We hope you find pointer capture useful. Please file feedback if you run into problems or have suggestions.

iPadOS Pointer Control 相關設計資源
Apple HIG 新增了這個章節。
Apple 在美國與 CDC 合作推出 COVID-19 相關 App
然而這套 iOS App 是用 SwiftUI 寫的,所以需要 iOS 13.1 以上…🤨
iPad Pro 2020 使用的 A12Z 跟前代 幾乎雷同的爭議
這篇報導指出 A12Z、A12X 這兩代 SoC 只差了多開啟一個 GPU 核心,引發了一些爭議(還有 A12Y 去哪了?😂)。
然而在晶片設計的領域,這種作法很常見。有興趣的請見這篇短文或是下列推文串:

I see a lot of people getting irrationally frustrated that the A12Z is just an A12X with an extra GPU core unlocked. This might seem weird those who don't know how manufacturing ICs works, but Apple is doing what literally every silicon manufacturer does. Lemme explain:
SourceKit for Safari
這是一個可以在 GitHub 上顯示 Swift 程式碼文件的瀏覽器插件,原理是進入 repo 網頁時把整個專案 clone 下來,然後連動 SourceKit-LSP 來做分析,再加回網頁。
實驗了一下,純 Swift 套件或是檔案不大的話,速度滿快的。也有 Chrome 版。

iOS 逆向工程初體驗—ZhgChgLi
從越獄、提取 ipa 檔敲殼到 UI 分析注入及反編譯的探索過程
iPlayground 2019 誕生了不少名言,其中一句好像是「一言不合就逆向你的 app」😂
Swift Build Time 討論
這確實是熱門話題。

看到不少 iOS 開發者在 tune build time,我不禁在想難道是我接觸的 project 都太小嗎?
否則的話,我一直覺得 Xcode 的 build system 帶的 incremental build 機制超快的呀,完全可以接受的速度。
還是大家常常 clean build?那又是什麼原因需要 clean build 呢?
UIResponder 與 MVC—Li-Heng Hsu
推文串很長,這裡只取頭尾,請自行點入:

我很久以前就很好奇為何很多 UIResponder 的子類型有跟 editing 相關的功能,比如 setEditing 與 canPerformAction 等等。後來研究 MVC 的時候才知道 Controller 的本質就是 responder(處理使用者輸入),而且原名是 Editor。

13.4 @ethanhuang13
中間我有插個嘴:
Safari 13.1 / iOS 13.4 把 Google 搜尋關鍵字的 + 號吃掉了
有升級的朋友,請自行試試看。

棒的咧,C++ 直接變成 C😂😂😂
iOS 13.4 Safari Search Bar 到 Google 會把 + 號NhEd

Benjamin Mayo @bzamayo
Universal Purchases 之後現有的 Catalyst Mac App 悲劇了

Oof, an unnecessary gut-punch from App Store Connect: "Apps that contain a maccatalyst prefix in the bundle ID can be created only for macOS.". TL;DR, if you have an existing Catalyst app record, you're not allowed add an iOS version to it. Screw you, early adopters!

weak self podcast 30: 開發圈近況與遊戲的隨性聊
這集由一三跟波肥完全沒準備、開麥就裸聊,效果意外地不錯!
軟體開發恐怖故事集回來了!
博君一笑
以上就是本期的內容。歡迎轉寄或推薦給同事或開發者朋友。有問題或回饋請直接回覆即可。