💬 Pofat 的話
上周六開始連續一周的假期,本期週報是在機場和旅館完成的,全程挑戰只用 iPad 進行 ,就略過 Swift commit 的部分(反正好像也沒什麼大事),以及下周休刊一次。
標題由來是最近聽朋友提到的一個 Podcast ,我想若調整一下大小兩字的位置,可能又會是一款爆紅的節目(並不會)。
🌎 On Swift Community
Apple 加大 App Store 廣告範圍
App Store 廣告即將出現在 Today 和每個 App 本身的頁面,旨在幫助 App 開發者直接鎖定與接觸更多新客戶,卻同時也引起了一些開發者的不快。
在 Apple 這幾年的教育下(和許多低劣品質的廣告)讓眾人視廣告業務如仇,但大家其實不是不想要廣告,只是想要更友善、不那麼惡意的優質廣告(不過顯然這些幾頻惡意的廣告招數也是有用的)。
另一派是認為 Apple 在 iAd 失敗後用隱私權大旗搞爆其他廣告平台,待各家重挫後再加大自己廣告力道的行徑實在是惡霸,不過這就是擁有平台的公司會做的事啊!廣告的利益戰爭似乎永不停息,讓我們繼續看下去。
Live Activities 總算現身
今年 WWDC 有聲無影的 Live Activities 總算在 beta 4 現身讓大家聞香,新的 ActivityKit 用來設定,UI 的部分則是透過 SwiftUI 和 WidgetKit ,推上已經有人做出可動的實品:
Apple 也把你變成音樂創作人了嗎?
Apple ID 的持有者可能在 28 號收到一封看起來 100% 是釣魚的可疑信件,內容為要求使用者更新銀行帳戶,可是一切來源卻又都是 Apple 無誤,簡直是官方的釣魚信!這個署名 The Apple Music Team 的管道本應用來聯繫 Apple Music 上的音樂創作人,卻意外地大量發送給不相干的人士,雖官方沒澄清,但已有 App Store Connect 工程師回應是 Apple 搞烏龍了。
讓 Swift Package Plugins 幫你寫單元測試
開發中常會為對應到約定好 JSON 格式的物件與 function 寫單元測試,以便在出包時理清是 App 還後端的鍋,但這些工作其實都是很模版化的工作,以前你可以用 Sourcery 這樣的工具來做自動化生成測試,但現在你可以使用第一方的工具來實現了。
在 Raycast 中搜索 Swift Package
Raycast 是我強力推薦的生產力工具,直覺的 UI 和擴充能力幫我省下非常多的時間。有推友寫了擴充功能,現在可以直接在裡面搜尋 Swift Package Index 的 package 了!
🗣️ On Swift Forum
SE-0366: Move operation + “Use after move” Diagnostic (Reviewing)
Rust 小心了,Swift 的 ownership 系統正在追上!
使用 move 關鍵字可以告知 compiler 該「轉移」變數的所有權,以幫助 compiler 判斷變數的生命週期。
比如說用 y 複製了一個 x 後,當 y 的操作全結束後又想再修改 x 時,效能上最理想的情況是不要再 copy x (copy-on-write),但編譯器不一定能判斷正確以得到這樣的最佳化,因此就讓開發者自己來標記吧 🌚
同時也加入了編譯時的錯誤提醒,當變數轉移後便不能再使用它,不過可以重新初始化新值給它,之後又能重新開始使用。
這是個 compiler 能力有限的情況下推出的新 operation,僅適用於 local 變數和一些不需要捕捉或多層次傳遞的情況,通常用於高度追求效能的場合,寫 app 時很高機率用不到。
🤪 Pofat 選推
都2022了,貓也會寫出編譯得過的程式了好嗎?
(看到有人問便提一下,數字結尾的 p* 是 hex floating point literal 的一部分,p6 就是前面的數字再乘上2的6次方)
既視感強烈(疑
既視感依然強烈