🕐13的話
Daniel Steinberg (@dimsumthinking) 是個我滿喜歡的資深 Apple/iOS 開發者。這個週末我在複習他的 YouTube 頻道,裡面有很多短篇的 Swift 概念教學。從 Combine 到 Async refactor 的過程特別有趣、之後也會講 Observable。
不過最想和大家分享的是他在 NSNorth 2019 分享的演講──Valuing the time we have。
從演講名稱你大概可以猜出內容跟 iOS 開發沒直接關聯,也不是談時間管理,而是在談生活的重心。對我很有啟發。
這份週報,為了讓大部分讀者週一上班前能讀到,設定成 +8 時區早上 6 點就發刊。過去幾年的週日晚上、睡前,我幾乎都是在寫這份週報度過的。
聽了這場演講(以及一些省思)之後,我決定把未來的週日晚上留給家人和自己。以後,開發者週報會改成在週一上午發刊。
希望大家也能找到自己生活的重心。
如果想要支持我,請訂閱我的 Patreon。一個月只要 $5 USD,非常感謝🙏
🧪Apple Releases & News
過去一週沒有新的 Beta 版。
8/2 以後可以用 Xcode 15 Beta 5 上傳 app 到 TestFlight 了。包括最新的一鍵上傳「TestFlight Internal Only distribution」功能。
💰Apple 公布第三季財務報告
服務營收創歷史新高
有效裝置安裝基數創歷史紀錄
新聞稿沒有什麼數字,財報 PDF 上有不同產品類別的銷售額。
📰Pixar、Adobe、Apple、Autodesk 和 NVIDIA 組成 OpenUSD 聯盟,推動 3D 內容的開放標準
USD (Universal Scene Description) 是 Pixar 發明的 3D 技術。也是 Apple ARKit 最常使用的 3D 物件或場景格式。
我只是想說很難得看到 Apple 的新聞稿上出現 NVIDIA。
🔏UserDefaults 裡面有什麼?
還記得上週頭條報導嗎?
這週 Apple 開發者圈最大的話題是 privacy manifest 要求宣告使用哪些 API 的列表出來了,裡面居然包含幾乎每個 app 都會使用的 UserDefaults。
Yachen Liu(@Blankwonder,Surge 開發者)針對 UserDefaults
裡面放了哪些東西、以及為何 Apple 要開發者宣告使用 UserDefaults
的原因,分享了他的看法以及補充。
我跟他的看法基本上一致。
幾年前我曾好奇而把 UserDefaults
裡面的東西全部印出來,發現有一大堆不是我塞進去、顯然是 iOS 主動存放在裡面的資料。
這是一個沒寫入過 UserDefaults
的 app 用 print(UserDefaults.standard.dictionaryRepresentation())
可以看到的內容(iOS 16,實機)。還是能看到一些偏向 user 個人設定方面的資料:
我猜很多開發者從來沒幹過這種事情,而一直以為 UserDefaults
是 app 用來存放自己資料的東西。
其實,顧名思義它是使用者的資料。至少對於 Apple 來說,某些資料足以做到 fingerprinting 了。
最後的小提醒:🙏請訂閱支持我持續撰寫這份週報,一個月只要 $5 USD。也歡迎按喜歡❤️、留言💬、回信✉️與我交流喔。