13 的話
謝謝你訂閱 «13的開發者週報»,這是一份給 Apple/iOS 開發者的電子報。
市面上已經有許多英文的 Apple 開發相關的資訊。而我是以台灣的工程師為主要對象來規劃內容,會盡可能與既有的資源有所區隔。舉例來說,我不會放上 Swift by Sundell 或 NSHipster 等的文章連結,或者與 iOS Dev Weekly 重複的內容,除非它們引起了廣泛的討論。
每個禮拜一早上你會收到電子報,內容包括前一週的開發資訊。本期因為有 beta 跟財報的關係,內容比較多。分成幾個區塊:
官方消息。Apple 官方發布的開發者資訊
新聞稿。Apple 官方新聞稿
媒體報導。重要的新聞,以英文媒體優先
社群活動。台灣的 iOS 開發社群的消息。如果你有舉辦活動,或想要透過我發佈社群消息,可以透過 Twitter 或回覆這封電子報來與我聯絡
技術資源。顧名思義
Podcast。中文的、與 Apple 開發有關的節目資訊
推特大小事。整理在 Twitter 上台灣開發者有意思的討論
And Finally…。這是從 iOS Dev Weekly 學來的,算是每期的趣事小梗吧😜
官方消息
Beta 5 更新
Apple 如期地以每兩週一次的頻率,在 7/29 更新了各平台與 Xcode 至 beta 5。
Release Notes 連結如下:
Xcode 11 beta 5(與 beta 4 的 diff)
小技巧:如果覺得 iOS 的太長看不完,可以先看 tvOS 的抓重點。
注意事項:
Developers using macOS Catalina beta 5 must also update to Xcode 11 beta 5.
有在用 Catalina 開發 SwiftUI 的話,請注意系統跟 Xcode 都要用 beta 5 才行。
Upgrade your iPhone to the newest available version of iOS 13 beta before upgrading any paired watches to watchOS 6 beta or a newer version of watchOS 6 beta. (51366653)
先升級 iOS 再升級 watchOS。
SwiftUI 與 Combine 的改變
今年各 beta 版之間改動最大的是 SwiftUI 與 Combine,所以我特別挑出來。
BindableObject
is replaced by theObservableObject
protocol from the Combine framework. (50800624)
原本叫 ObjectBinding 的地方改成 ObservableObject,不用寫 PassthroughSubject。並且可以用 @Published 寫 properties,就不用自己寫 willSet 了。Release Notes 裡也有範例。
SegmentedControl
is now a style ofPicker
. (51769046)
iOS 13 beta 5 變化
系統提供的功能方面,iMore 整理的很清楚。
值得一提的是捷徑的「自動化」功能暫時被移除。Shortcuts Team 表示會再回來。
新聞稿
Apple 提供全新擴增實境 (AR) 藝術課程
課程名稱叫做 [AR]T,嗯。台灣的兩間 Apple Store 都有提供。
Apple 公布第三季財務報告
整體營收比去年同季度增加。iPhone 佔營收的比例首次低於 50%。
細節有興趣的話自己看,本刊不提供投資建議。喜歡看圖表的話,可以參考 MacStories 或 sixcolors。
媒體報導
🇯🇵Apple 計畫於 2019 年在日本新增兩間 Apple Store
據報導,一間會在神奈川県川崎市,另一間在東京的丸の内。選這則新聞主要是想讓你看各種設計精美的 logo。或許還可以搭配下面的日本研討會資訊安排行程。
🇺🇸LG UltraFine 螢幕提供 5K 版本
新版使用 Thunderbolt 3。不僅支援 Mac,還支援 2018 年款的 iPad Pro(但解析度上限是 4K🧐)。台灣 Apple 官網目前只有販售 5 月推出的 4K 版本。
Apple 加入 Data Transfer Project
DTP 是去年 Google 帶頭提出的計畫,概念很簡單,就是方便使用者把資料搬家到不同的服務(下圖取自白皮書)。之前有 Google、微軟、Twitter、Facebook 等。現在 Apple 也加入了。
Apple 暫停 Siri 的人工改進措施
先前英國衛報曾揭露 Siri 的部分錄音有被外包出去、用人工聆聽來改進結果。現在 Apple 表示他們已經暫停了這項措施。
“We are committed to delivering a great Siri experience while protecting user privacy,” Apple said in a statement to TechCrunch. “While we conduct a thorough review, we are suspending Siri grading globally. Additionally, as part of a future software update, users will have the ability to choose to participate in grading.”
社群活動
🇹🇼iPlayground 將於 8/10 截稿
台灣最大的 Apple 開發者研討會 iPlayground,這屆的議程設計稍微有縮短到每節 40 分鐘。想要登台分享可以把握機會投稿。
議程要等徵稿結束之後才會公布。喵神已經透露他會現身。
🇹🇼CocoaHeads Taipei 八月份聚會
可可頭台北一如往常地會在每月第二個禮拜四晚上舉辦,也就是 8/8。
想要分享題目的話,可在 Twitter 或 Facebook 報名。
🇯🇵iOSDC Japan 2019 開始售票
iOSDC Japan(官網)是在日本東京舉辦的大型 iOS 研討會。今年的舉辦時間在 9/5-7。一般票是 8,000 日圓。
想知道台灣工程師去參加的經驗,可以參考這幾篇文章:
事實上,iOSDC 的參加經驗對於催生出 iPlayground 有很大的幫助。
如果你日文不行,或是在考慮的是明年三月的 try! Swift Tokyo 還是 iOSDC Japan,點開下面的舊推文可能會有點幫助:
技術資源
ASCIIwwdc 已上架 WWDC19 影片的全部字幕
ASCIIwwdc 是一個能搜尋所有 WWDC 影片字幕的網站。有時候做研究會派上用場。
Swift Quiz in Review
如果你有 follow objc.io 的 Twitter,應該常常會看到一些很難的 Swift 題目。這些題目不是為了拿來考面試者,只是要多認識語言的特性,答錯不要有壓力🤪。這篇文章整理了過去 20 個題目的統計數據。
MengTo 的 SwiftUI 課程更新至 beta 5
這套課程並不便宜,但是我自己買來看過覺得非常實用,可以快速掌握 SwiftUI 的使用方式,可以說是花錢省時間的範例。而且影片有中文字幕,內容持續在更新。可以先去他們的 YouTube 頻道試看免費的部分(連結不含推薦碼,純粹是覺得好東西要分享)。
Raywenderlich 的 Fastlane 課程
我沒有訂閱,沒看過內容。不過應該有人會有興趣。
Opaque Result Type
Pofat 這篇文章可以當作 weak self podcast 第 2 集的補充資料。
另外可以參考他的 Protocol 文章三部曲。
還沒寫,效法星際大戰。他說或可以聽 podcast,「預計要寫第一部的內容就在這集都聊差不多了」
CurlDSL
podcast
weak self podcast
weak self 應該是台灣第一個以 Apple/iOS 開發者為主題的 podcast。由 一三(沒錯就是我😛)、波肥、喬喬主講。
Podcast 就像 RSS 一樣,有 feed URL 就可以在任何 podcast app 上訂閱。說明頁面有各種訂閱方式以及章節功能的介紹。
以下是最新一集的內容簡介:
2: Swift API 設計之原來我不會用 protocol
主題延續上一集的 Swift API 設計,進入了 protocol 與 generic 的領域。
推特上的大小事
這個區塊會放一些台灣的 iOS 開發者在 Twitter 上的討論,或者有些新知的發表不寫文章直接發推。討論串如果有個別回覆,就會變成分支而且不好追,我也沒有辦法全部的推文都貼,所以只抓幾個分支,請你有興趣自己點進去看。標題是我隨意取的,當分隔線而已。討論的話我盡量不放自己的推文,免得像在自己地盤另闢戰場😛
RxSwift 與 .map
Objective-C 與 Swift 的 import
📊func naming 習慣投票
Value Type 也有可能存放在 Heap 裡
波肥在 weak self podast 1 講到 Swift 的 Value Type 都是放在 Stack。但其實還有後續。完整的文章可以到他的 blog。
上傳 Swift 開源專案至官方的 CI
我把前些時候寫的 NSAttributedStringBuilder 申請加入到 Swift Source Compatibility Suite,確保未來的 Swift 版本與自己專案的相容性。這個貼文串補充了一些步驟。
比較 Swift 的 for in 與 forEach
小綠把推文串整理得很清楚了,我就不用麻煩了,哈。
iOS 13 透過他人裝置尋找已經可以用了
要點開看整串。其實這個原理 Tile 多年前就做到了。不過內建在系統中,尋獲率高得多。
SwiftUI 在 tvOS 的表現如何?
And Finally…
我編到最後才發現本週 Pofat 的存在感超•級•高。感謝他帶來許多精彩的分享。
下面這個太好笑了,所以我要放第二個。
空著的項目展示了 iCloud 憑空消失的檔案的能力!
以上就是本期的內容。如果你喜歡,請轉寄或推薦給同事或開發者朋友。有問題或回饋,請直接回覆電子報即可。如果你有想讓 Apple/iOS 開發者知道的資訊,包括文章、開源專案、社群活動等等,也歡迎寄送給我。