13 的話
謝謝你訂閱 «13的開發者週報»,這是一份給 Apple/iOS 開發者的電子報。每個禮拜一早上你會收到我彙整了前一週的開發資訊。除了官方消息、社群活動、技術資源以外,我也會放入一些台灣的 iOS 工程師在 Twitter 上的討論。
如果你喜歡我整理的資訊,請推薦、轉寄給同事或開發者朋友。
根據上一期的經驗,使用 Gmail 的讀者可能信件會被切掉。請記得按「查看整封郵件」,或是
到網站上閱讀
。使用 iOS Mail 的讀者請記得點按上方的「載入所有影像」。
官方消息
Beta 6 更新
Apple 在 8/7 推出 iOS、tvOS、watchOS 的 beta 6。macOS 與 Xcode 沒有更新。
Release Notes 連結如下:
小技巧:如果想知道每個版本改了什麼 API,可以參考
這個網站
。
注意事項:
If your watch is running watchOS 6 beta, you must update it to watchOS 6 beta 2 or later before updating to iOS 13 beta 6, otherwise your watch will no longer be able to connect to your phone. (52854192)
⚠️請注意,之前都是提醒要先升級 iOS beta 再升級 watchOS beta。這次是說升級 iOS 13 beta 6 之前先確定 watchOS 6 版本在 beta 2 以上,不然將會無法連線。
Important Updates to CNCopyCurrentNetworkInfo API in iOS 13
開發者應該在 8/8 左右有收到 Apple 針對 CNCopyCurrentNetworkInfo 行為改變的提醒信(就是那封稱呼你為 Dear $firstName 的信)。連結是我把信件內容備份在 gist。
Apple 更新了 iOS 版本分布圖
iOS 12 佔了所有裝置 88%,若以四年內的裝置而言則是 90%。
Apple ASMR: Season 1
Apple 在 YouTube 上新增了一系列的 ASMR 影片,是用 iPhone 拍攝與收音的。目前有四部。既然是 ASMR,建議戴耳機聽囉。
Apple 更新了 USB-C Digital AV 多埠轉接器(HDMI 轉接器)
舊款僅支援 HDMI 1.4,新款支援 HDMI 2.0,所以較新的機種可以輸出 4K、60Hz。
下列機型可顯示 3840 x 2160、60Hz:
iPad Pro 11 吋、iPad Pro 12.9 吋 (第 3 代)、MacBook Pro (15 吋,2017 年與後續機型)、iMac (Retina 5K,27 吋,2017 年與後續機型)、iMac (Retina 4K,21.5 吋,2017 年與後續機型),以及 iMac Pro (2018 年)
AP® Computer Science Principles with Swift
Apple Books,給高中生的電腦課本。
Apple 更新了 Bug Bounties
更多細節可見相關報導。
App Store 重新打包 apps 來加速啟動
iOS 13 改進 app 啟動速度其中一個著力點是改變打包的方式。根據員工的推文,App Store 現在已經重新打包完成。要享受這個效果,你需要 iOS 13 beta 6 裝置,並且重新安裝 apps。
重裝個別 app 比較快的方式,是在「設定」/「一般」/「儲存空間」,點選 app 來「卸載」再「重新安裝 App」。
還有一有些細節可以點推文進去看對話。
正如我在本週的 weak self podcast 所說的,Apple 的工程師現在比較會在 Twitter 上與開發者交流。
社群活動
iOS @ Taipei 8/13二:UICollectionView in iOS 13
Nick: iOS 13 UICollectionView 變得更強大了,聊聊 UICollectionView 的轉變
CocoaHeads Taipei 因颱風延至 8/15四
已知的講者有 zonble 要講 NSScanner,與藍永倫要賣神奇 T-shirt。
🇹🇼iPlayground
台灣唯一 iOS 開發者辦給 iOS 開發者的技術研討會。今年是第二屆,9/21-22 在台大博雅館。
主辦單位表示議程預定在一週左右公布。去年公布議程之後票很快賣完,所以想參加但又想知道議程再買票的話,可以留意 Twitter。
去年 iPlayground 第一次舉辦,250 張票出售率 100%。其中有 100 張票在公布議程後一週內被秒殺。而今年我們還沒公布議程(將在截稿之後不久公布),已經賣出了 60%。
(本文的作者是我)
購票請到 KKTIX。
職缺
Head of Programming, Taipei
Apple 在台北的「軟體相關」職缺。JD 要看仔細,工作職責主要是 Apple Retail Store 體驗方面,而不是單純寫程式。
Apple Retail Stores represent a focal point in their local community - a place where technology intersects with the arts and education. We are focused on building experiences that inspire you to learn, create something new, and discover something you’ll only find at Apple.
The Programming Lead is an evangelist of this vision, and is responsible for curating and delivering an ongoing program of culturally relevant programming. The Programming Lead will partner closely with Retail Marketing and external talent to conceive, program, implement and execute events through the engagement of musicians, photographers, developers, entrepreneurs and educators, inspiring customers and enhancing the Apple Retail experience.
技術資源
CocoaPods 1.8 beta 預設使用 CDN
以往使用 CocoaPods 時,最曠日廢時的就是在 update pod spec repo 了。現在 CocoaPods 將可以使用 CDN 來大幅加入這個流程。網頁的影片 28 秒開始示範了「秒解」的速度。
升版後,你可以使用以下指令來切換成 CDN。
在 Podfile 裡修改這一行
source 'https://cdn.cocoapods.org/'
輸入:
pod repo remove master
The SwiftPM Library
Dave Verwer 又一力作。你可以把它想成 SwiftPM 版的 cocoapods.org。可以讀一下關於或計畫緣起文章。也可以申請加入你的 package,目前有 946 個。
重新實作 Combine 相容較低版本 iOS
你想用 Combine 但不想等到 iOS 13 嗎?OpenCombine 與 CombineX 也許是個辦法。
CombineRxSwiftPerformance - 比較 Combine 與 RxSwift 效能
有些測試項目接近兩倍速。雖然效能不是選用 framework 的唯一指標,但 Combine 在這方面確實令人印象深刻。
FlickyType - Apple Watch 鍵盤
可以安裝 Public TestFlight。有 SDK(GitHub) 可用。
設計資源
Drama—PixelCut 推出的全新設計工具
PixelCut 之前主要的設計工具是畫完圖以後可以產生程式碼的 PaintCode(其主要概念是,用程式碼畫圖比圖檔更快、更省空間)。新的 Drama 目前 beta 中。看一下它們的 Tutorials,挺有意思的。
根據上一期的經驗,使用 Gmail 的讀者可能信件會被切掉。請記得按「查看整封郵件」。或是到網站上閱讀。
podcast
weak self podcast
三個在 iOS 開發圈打滾的台灣工程師,專為 Apple/iOS 開發者而製作的 Podcast。主講人一三(對就是我😛)、波肥、喬喬。
以下是最新一集的內容簡介:
3: 就是要豪華便當!詹里長 hokila 的技術研討會全攻略
這集邀請到特別來賓 iPlayground 總召—hokila,談談參加技術研討會的一些經驗與心得,以及 iPlayground 想帶給大家的社群氛圍。WWDC 跑 lab 跑到跟 Apple 工程師推坑買東西、日本的筋肉 Swift 是什麼東東,以及 iPlayground 的籌備祕辛,就是要聽 hokila。
⚠️警告!本集不太適合搭捷運或上班聽,怕你憋笑會內傷。
科技島讀 Podcast
這集節目內容跟 iOS 沒有任何關聯,只是因為我發訊息建議島讀開 Twitter 帳號,然後他們就立刻開了。所以幫忙宣傳一下😂
推特上的大小事
這個區塊會放一些台灣的 iOS 開發者在 Twitter 上的討論,或者有些新知的發表不寫文章直接發推。討論串如果有個別回覆,就會變成分支而且不好追,我也沒有辦法全部的推文都貼,所以只抓幾個分支,請你有興趣自己點進去看。標題是我隨意取的,當分隔線而已。
用 enum 當 namespace
如果把某個 type 純粹當 namespace(底下都是 static 而沒有任何 instance ),用空的 enum 比用 struct 還好,因為可以省下編譯器幫你寫個空的 init()。這不是什麼隱藏神技,Apple 也是這樣做的。
Network Manager
優化 App Launch Time
📊Tracking API 設計投票
Apple Card 超想當你的預設付款方式
雖然目前只能乾瞪眼,但是看看 Apple Card 的 UX 也是挺有意思的🤤
這兩個不一樣
小綠又開串了,這次是 map vs flatMap
這串還沒完。
SwiftUI 的 AnyView 是怎麼做到 type erased?
雖然目前還沒有解答,但還是有趣的問題。
輕鬆一下
沒有人規定笑話只能放一個,所以我就盡量放~~~
WWDC 影片太多看不完啦
要點進去看動畫。
🐃🐂🐄🐮
只是修個 bug 會有什麼意外嗎?
要點開看影片。
搞不定 UIKit 是不是都用這招
新七夕故事
一次看懂王母娘娘是在不爽什麼。
內政部小編又撿到武器了。得登入 Facebook 才看得到全部。
以上就是本期的內容。如果你覺得值得,請轉寄或推薦給同事或開發者朋友。有問題或回饋、有想讓 Apple/iOS 開發者知道的資訊,包括文章、開源專案、社群活動等等請直接回覆電子報即可。