13的話
本週的大事就是 Xcode 11.4 beta 跟 Swift 5.2 丟出了一堆新功能。iOS 13.4 也加了不少使用者功能,但 API 沒有太大變化。
我列出了許多亮點,歡迎提供補充資料。
Universal Purchase
App Store 上 iOS 與 tvOS 可以共用一個 SKU、Bundle ID、使用者評分、購買記錄、IAP 產品等。現在這樣的「好處」即將加入 Mac app。自從 Catalyst 推出以來,這算是預料之中的事。
各平台 apps 的 Bundle ID 要相同,所以對於已經有 Mac app 在架上的開發者來說,要怎麼轉過去還不太清楚。
有趣的一點是 iOS 與 Mac App Store 的分類也會整合。比如 Developer Tools、Graphics & Design 這些分類會加到 iOS。
Xcode 11.4 beta 1
建議自己先翻一下 Release Notes,我列一些重點:
支援 Mac 的 Universal Purchase
Crashes 也會包含 universal purchase macOS apps 的 logs
SwiftUI Previews 可以直接剪下、複製、貼上 views
Simulator 現在支援 push notification 測試。你可以直接拖曳符合 APNs payload 的 JSON 檔
Simulator 可以拖曳 CER 或 PEM 檔進去安裝 SSL 憑證
simctl 指令支援 keychain 指令、修改使用者權限、切換主題、發測試的 push notification payload
Simulator 的視窗增加了標題列,終於知道要按哪裡拖曳了🤣
A rename refactor of a Swift or Objective-C object correctly renames the file containing the object. (32408445) 終於修掉了啊…
Swift 跟 SwiftUI 的錯誤訊息會更準確。可參考 New Diagnostic Architecture Overview
XCTests 多了 Test Timeouts 功能
XCTests 可以 throw error,包括 setUp、tearDown 也有 throw 的版本
可以在 XCUITests 重設使用者允許權限,方法是 resetAuthorizationStatus(for:)。我第一次知道這些資源可以叫做 protected resource
“Enable Testing Search Paths” build setting
可以用 XCTSkipIf / XCTSkipUnless 動態地跳過一些測項
修了很多 bugs
還有很多。
Xcode 11.4 beta 1 需要 macOS 10.15.2 不然打不開,不過改 Xcode-beta.app/Contents/Info.plist
Minimum system version 那招目前還有用。可以先試試。
What’s New in Swift 5.2
官方沒出 blog,所以我是讀 Paul Hudson 的介紹,就不多解釋了。
其他:
watchOS 即將支援 IAP
watchOS 6.2 將會包含 StoreKit。具體的 UX 還不清楚。
Introducing Swift Crypto
Apple 在去年推出了 CryptoKit。現在新出 Swift Crypto 則是一套跨平台的 crypto framework。在 Apple 平台使用 CryptoKit,在其他平台則是用 BoringSSL 實作。這兩套實作會共用一套測試,確保兩邊的執行結果一樣。
Swift Crypto 的目標不是盡可能支援各種方法,比較舊或已知不安全的不見得會放進來。另一方面,Apple 硬體特有的 API 也沒有放進來。
Creating a macOS App - SwiftUI Tutorial
SwiftUI 的 Landmark tutorial 本來只有 iOS 版,現在出了 macOS 版。基本上功能相同。我希望有更多。
Apple Arcade 廣告塞進官網
點開看動畫。
說到 Arcade,tvOS Arcade app 的圖會用特別的方式移動,也是點開看動畫:
有看出來嗎?一般是多層、以不同速率平移(parallax panning),但是這個看起來是搖桿會轉。
SPM 經驗 - zonble
zonble 拿 SPM 包 Swift 跟 Objective-C 的一些經驗:
在任何版本與裝置阻擋 iOS OTA 更新的方法 - 皮樂
我以前都是用安裝 tvOS Beta Profile 的方式,原來還有這麼多招。
台北各大 iOS 社群暫停聚會
Swift Taipei
CocoaHeads Taipei
iOS@Taipei
weak self podcast 24: 你也是薪水小倫嗎?上班族如何利用上班時間精進程式功力
喬喬的雞湯賣藥電台再出發。
下班之後無心無力或沒時間加強技能,那可以在上班時間合理合法地學習嗎?
再問,怎樣搞定你的 PM,或說同事之間怎麼做人處事才好相處?
博君一笑
Property Rapper
程式碼在這裡。
loop
我不知道這是什麼語言,反正就是很酷😎
以上就是本期的內容。歡迎轉寄或推薦給同事或開發者朋友。有問題或回饋請直接回覆即可。