13 報

Share this post

開發者週報 #3 叉叩杯塔繼續遲到中

www.ethanhuang13.com

開發者週報 #3 叉叩杯塔繼續遲到中

Apple/iOS 開發者的一週大小事 2019/08/12-18

13
Aug 18, 2019
1
Share this post

開發者週報 #3 叉叩杯塔繼續遲到中

www.ethanhuang13.com

13 的話

本期根據讀者回饋做了調整。之前幾期比較像是嚴肅的剪報資料,現在每期會有標題。每則連結會多一些我的評語,讓你更好判斷要不要點下去看。喜歡這樣的風格或有什麼建議,請回信讓我知道🙏

如果你有社群活動、寫了開源專案或技術文章,想要我幫忙轉貼的,都可以來信或填寫表單。也可以推薦別人的東西,只要你是真心的❤️


官方消息

HomePod 將於 8/23 在台灣發售

想買的人久等了,這次是官方新聞稿。

我個人超過一年的使用經驗來說,HomePod 的耳朵非常好,但腦子就是 Siri 那個樣子。

Beta 7 更新

暨前一週的 beta 6 之後,Apple 在 8/15 推出 iOS、tvOS、watchOS 的 beta 7。但是 macOS 與 Xcode 依然沒有更新。

Xcode 遲到造成的大麻煩:在 SwiftUI 使用 Combine 的 ObservableObject,app 在 beta 7 的裝置會打不開。目前的 workaround 是用 EnvironmentObject,或者只能用模擬器。

坦白說因為這原因我已經超過兩週沒有碰 SwiftUI 了。

Release Notes 連結如下:

  • iOS 13 beta 7

  • tvOS 13 beta 7

  • watchOS 6 beta 7

小技巧:想知道每個版本改了什麼 API,可以參考這個網站。資料是分析 Objective-C header 自動產生的。

WWDC19 影片增加了日文與簡體中文字幕

英文字幕還是比較準確,不過至少多了一個選擇。

tvOS 現已支援 App Store 階段性發布

這個功能 iOS 已經有很久了,Mac App Store 在年初時也開通。現在終於輪到 tvOS。也許下一個就會是 watchOS 吧🤔

WebKit 保護追蹤政策

瀏覽器的防止追蹤功能為了保護使用者隱私。WebKit team 也參考了 Mozilla 的政策。

Covert tracking includes covert stateful tracking, fingerprinting, and any other methods that are similarly hidden from user visibility and control.

…

WebKit will do its best to prevent all covert tracking, and all cross-site tracking (even when it’s not covert). These goals apply to all types of tracking listed above, as well as tracking techniques currently unknown to us.

這當然會對於現行的網頁機制造成影響,網頁上也列出哪些功能沒有想要防止,但可能會受到影響。比如說廣告成效分析、單一網站的行為追蹤、SSO。

Apple 可能會在 9/10 開秋季發表會

我通常不轉貼謠言,不過截圖上行事曆 app 的準確度頗高。這也表示我們離 GM 版不遠了。

如果想看 iOS 歷史上 beta 版存在的時間,可以參考這個網站。


社群活動

iOS @ Taipei

本週二的題目是:「擅變的 SOLID - 面對變化的軟體設計原則」

郭亭巖:SOLID 是五個關於面對變化的軟體設計原則,讓我們在改變原有程式碼或邏輯時,不會影響到其他部分和原有功能的實現,讓處理變化這件事變得容易。

當天會以串接開放 API 為例,簡述 SOLID 的 SRP 和 OCP 並實際使用在 Demo 上並做 Before / After 比較。

iPlayground

台灣目前唯一 iOS 開發者辦給開發者的技術研討會。9/21-22 在台大博雅館。

主辦單位已經完成審稿,從今天(週一)開始會馬拉松式地公布議程在 Twitter 與 Facebook。購票請到 KKTIX。


技術資源

Google Cast SDK for iOS 13

先前,有整合 Google Cast 的 apps 在 iOS 13 beta 版無法使用,主要與權限有關。現在 Google 推出了新版 SDK v4.4.3,而且有支援訪客模式與不支援的兩個版本。選擇不支援訪客模式的版本,就不會用到藍牙,app 也不會跳出權限對話框。

Dropbox 放棄用 C++ 跨平台開發

本週的熱門話題。有多少次我們看到「行動應用跨平台開發,從入門到放棄」的故事?這次是 Dropbox 放棄自 2013 年以來共用 C++ 程式碼在 iOS 與 Android 專案的方式,改用 Swift 與 Kotlin。

我讀到的第一個反應是「千金難買早知道」(因為我是「預設 native 派」)。不過細細讀完再想想, 2013 年距今很久了,那時他們的團隊小,也沒有 Swift 跟 Kotlin,共用程式碼可能是最佳的方式。不像現在有許多方案可以選擇。

Dropbox 表示共用 C++ 程式碼的 overhead(間接成本,這個詞在程式語言上我不確定怎麼翻譯更好)大致分成幾個類型:

  • 必須自訂 libraries,而不能借助原生語言的解決方案

  • 使用自訂的開發環境

  • 在不同平台仍要整合原生的部分(這個是所有跨平台方案的痛)

  • 人才訓練與招募的困難。這點可想而知

當然這篇文章引起了不少討論,許多人的看法是,「就算要跨平台也不該選擇 C++」、「問題不在跨平台而是選錯了方式」。更多的討論是假設用 Xamarin 會怎麼樣。

好,自己讀原文吧,再寫下去要變成部落格了。


podcast

weak self podcast

weak self 是兩位 iOS 開發圈的朋友跟我一起製作的 podcast。出於興趣我們會聊聊開發技術、社群活動、團隊經驗,也會邀請業界的朋友一起來討論這些話題。聽眾非常支持,使得我們已經是 Apple Podcasts 科技類排行榜上的常客(也因為同類型的中文節目太少了😂)。以下是本週的節目內容:

4: 或許我可以把 title 改成資深文件工程師

啊哈,又是一集採訪節目。這次我們找了資深工程師 Nelson 來跟我們聊聊帶團隊的經驗。在開發團隊中,若有建立共用文件的習慣,會逐漸累積成事半功倍的效果,Nelson 他們是怎麼做到累積出 2、30 篇文件,後來又達成什麼效果呢?跟著 weak self 一探究竟吧。


遺珠之憾

這些不是上週的新聞,但總覺得錯過有點可惜。

NSObject 還不支援 ObservableObject (7/30)

之前我忘了貼 zonble 的推文,相信還會有人踩坑。

Twitter avatar for @zonble
zonble 🍺 @zonble
經人體實驗證明,如果你讓一個 ObservableObject 同時也是 NSObject,就不會發送通知了。
11:56 AM ∙ Jul 30, 2019
Twitter avatar for @nalydadad
陳俊達 @nalydadad
昨晚才踩一個雷,繼承自 NSObject 的 ObservableObject,用 @ Published 會沒有作用。必須自己宣告 objectWillChange 然後有變動時自己 send。
12:41 AM ∙ Aug 14, 2019
Twitter avatar for @nalydadad
陳俊達 @nalydadad
@ethanhuang13 原來 zonble 有推過啊,我居然沒看到⋯⋯
2:27 AM ∙ Aug 14, 2019
Twitter avatar for @zonble
zonble 🍺 @zonble
@nalydadad @ethanhuang13 所以說你沒看到是你的問題還是我的問題?(眨眼)
2:46 AM ∙ Aug 14, 2019
Twitter avatar for @ethanhuang13
13 一三 @ethanhuang13
@zonble @nalydadad 是我的問題。我發現自己忘記收錄進電子報了😂
2:47 AM ∙ Aug 14, 2019

App Store Submissions Update (7/31)

iOS 13 beta 已經可以上傳 App Store 做 TestFlight 了。

You can now submit apps built with Xcode 11 beta 5 using the SDK for iOS 13 beta 5, tvOS 13 beta 5, and watchOS 6 beta 5 for internal and external testing.


推特上的大小事

這個區塊會放一些台灣的 iOS 開發者在 Twitter 上的討論,或者有些新知的發表不會寫文章而直接發推。討論串我沒有辦法全部都貼,所以有興趣請自己點開看。

上一集的 weak self podcast 提到早期的 CocoaHeads Taipei,於是引起了一陣推特考古學。

Twitter avatar for @ShivaHuang
Shiva Huang @ShivaHuang
@weak_self @hokilaJ @theiPlayground 講到@CocoaHeads_TPE的開始啊,最早是在蘋果優仕八德店二樓的咖啡廳,那時每次參加的人不到10個吧,後來越來越少人 XD 然後就停辦了一陣子,因為人數少到固定班底的三人中,兩個是主辦人,兩個是同公司的同事。大概太像朋友同事的聚餐嘴砲,所以有段時間都直接約在有網路的咖啡店閒聊。
1:59 PM ∙ Aug 12, 2019
9Likes2Retweets
Twitter avatar for @ShivaHuang
Shiva Huang @ShivaHuang
@weak_self @hokilaJ @theiPlayground @CocoaHeads_TPE 再後來 iPhone 發表,有家叫 waveface 的公司贊助場地,在228公園旁邊的辦公室,參加的人也突然多了起來。 不過後來這家公司倒了...就改借政大公企中心的d.café場地辦了一陣子。 再後來就是大家熟悉的 @_cardinalblue 了,最早是在忠孝敦化路口,上島咖啡館隔壁那棟 XD (所以不是樓下有咖啡館)
2:12 PM ∙ Aug 12, 2019
5Likes1Retweet
Twitter avatar for @ShivaHuang
Shiva Huang @ShivaHuang
@weak_self @hokilaJ @theiPlayground @CocoaHeads_TPE 後來才又搬到現在華視大樓來,本來在七樓的樣子,後來才搬到現在的樓層。 以上
2:14 PM ∙ Aug 12, 2019
2Likes1Retweet
Twitter avatar for @ShivaHuang
Shiva Huang @ShivaHuang
@weak_self @hokilaJ @theiPlayground @CocoaHeads_TPE 對了,第0屆的廣告在 ptt.cc/man/MacDev/D30… 可以看到~
ptt.cc[情報] 第零屆 CocoaHeads.tw 起跑!http://cocoaheads.tw/ 您喜歡 Cocoa Programming 卻找不到同好討論嗎?寫程式遇到問題只能默默 上國外網站搜尋?寫好程式卻沒有人可以分享和給建議?有建議或感謝想表 達給一些國內自製軟體的作者嗎?那就來參加 CocoaHeads 吧! 台灣區第零屆 CocoaHeads 聚會預定於 2007 年 9 月 13 日晚間 19:00 舉
2:27 PM ∙ Aug 12, 2019
5Likes1Retweet
Twitter avatar for @yllan
宇宙漂流井底之蛙🐸 @yllan
早期CocoaHeads的內容已不可考。雖然記得有錄影但當初YouTube還不流行,檔案早不見了。 不過我有挖到當初的活動資訊,從 outline 裡可以一窺當時的主題:
yllan-80c405.kktix.ccyllan 的個人組織 - KKTIX
6:41 AM ∙ Aug 13, 2019
4Likes2Retweets

cocoapods-binary 是一個在 pod install 時就把 pods 編譯成 binary 的 CocoaPods 套件,可以節省之後編譯的時間,有點類似 CocoaPods + Carthage 的效果。

Twitter avatar for @PofatTseng
Pofat @PofatTseng
我現在才知道有 cocoapods-binary 這種神器 #落伍惹
4:36 PM ∙ Aug 10, 2019
Twitter avatar for @ethanhuang13
13 一三 @ethanhuang13
@PofatTseng 整個討論串 cc 一下作者 @leav3z
1:39 AM ∙ Aug 13, 2019
Twitter avatar for @PofatTseng
Pofat @PofatTseng
@ethanhuang13 @NelsonT @marslin_dev 這真的是 lightning talk 的長度,多虧作者 gem install cocoapods-binary 加入 plugin ‘cocoapods-binary’ all_bianry! 然後 pod install 完惹
7:21 AM ∙ Aug 13, 2019
Twitter avatar for @PofatTseng
Pofat @PofatTseng
pre_install do |installer| installer.pod_targets.each do |pod| if !dynamic_frameworks.include?(pod.name) def pod.build_as_static_framework?; true end end end end 就這樣,static pods
11:24 AM ∙ Aug 13, 2019

如果有人要支援 iPadOS 13 的多重視窗,可以讓我知道一下嗎?

Twitter avatar for @zonble
zonble 🍺 @zonble
簡單講,因為 iOS 13 支援多 Window,所以,如果你要使用 AFWebAuthenticationSession 的話,你得要指定要在哪個 Window 顯示各種提示訊息
dev.toQuick Guide to ASWebAuthenticationSession API Changes in iOS 13A quick look at implementing ASWebAuthenticationSession to perform OAuth in iOS, and how the API has changed in iOS 13+
2:37 AM ∙ Aug 12, 2019

常有工程師朋友跟我說不知道怎麼做 side project。我覺得這個推文說得很好。

Twitter avatar for @GregorySchier
Greg Schier 💻🌲🇨🇦 @GregorySchier
My side-project advice ❤️ - Users are motivation. Ship before 1 week 🚢 - Unmotivated? Find a project you care more about 🤷‍♂️ - Share process before shipping 💬 - If learning is the objective, quit when it gets boring 🧠 - Don't be so hard on yourself 🧸 - Open-source it! 🎁 🎈
3:40 PM ∙ Aug 13, 2019
388Likes70Retweets

研討會講者的心情進度。我現在正介於 I 跟 E 之間⋯

Twitter avatar for @aligatr
Olivier Halligon @aligatr
Life of a conference speaker 👨‍🏫👩‍b6rCv
Image
8:14 PM ∙ Aug 13, 2019
92Likes8Retweets

來看一下開發者們秋季就採用 SwiftUI 或 Catalyst 的意向。我自己的話,公司的 app 肯定不會用這兩個新技術來做正式開發(不過我們內部實驗轉成 Mac app 已經成功,可作為輔助計畫)。Side projects 的話就來做呀,等我弄出來再跟大家分享。

Twitter avatar for @stroughtonsmith
Steve Troughton-Smith @stroughtonsmith
A lot of people preparing to ship SwiftUI already! Perhaps it will follow the same insanely-steep adoption curve as Swift?
Image
8:32 PM ∙ Aug 14, 2019

常聽 tvOS 一哥在講這平台特有的 bugs。有在開發 tvOS app 的朋友歡迎跟我們交流。

Twitter avatar for @HsuToby
Toby Hsu @HsuToby
這是一個從 tvOS 13 beta 1 就有的 Bug ... 但是 Release Notes 卻從來沒有出現過 😂 出現條件是: 1. Cell 夠多需要被捲動的 UICollectionView 2. 使用了 transform 做 focus 效果z
Image
5:15 PM ∙ Aug 14, 2019
Twitter avatar for @HsuToby
Toby Hsu @HsuToby
然而在 tvOS 13 beta 6 的時候他默默被修正了。 Release Notes 卻還是沒有提到他⋯⋯😉 這就是 tvOS 的彩蛋吧(?k
Image
5:17 PM ∙ Aug 14, 2019

系統在跟你鬧著玩哪🤦‍♂️

Twitter avatar for @nalydadad
陳俊達 @nalydadad
最近被 iOS 13 的新 feature,三指連點 undo,redo 困擾。理論上要在 Responder Chain 的某一層 override 掉 editingInteractionConfiguration 並回傳 none。
1:13 AM ∙ Aug 16, 2019
5Likes1Retweet
Twitter avatar for @nalydadad
陳俊達 @nalydadad
但一來我在任何一層我可以 override 的地方做都沒作用,二來為什麼不在 plist 提供一個 key 說我不想支援此 feature。三來,最獵奇的部分,當我四指連點的時候,系統會跟我說只有一隻手指頭在點螢幕。
1:13 AM ∙ Aug 16, 2019
4Likes1Retweet

會心一笑

沒有人規定笑話只能放一個,所以我就盡量放~~~

Xcode 使用者很能體會。

Twitter avatar for @TadCarpenter
Tad Carpenter @TadCarpenter
WIFE: Why were you tossing and turning so much last night? ME: A lot on my mind? WIFE: You can talk to me. ME: Why on earth is a finished building still called a building. That's dumb?! That’s like a finished cake being called baking. WIFE: *walks away
4:32 PM ∙ Aug 9, 2019
2,922Likes815Retweets

「去讀文件!」「文件:」

Twitter avatar for @alacodes
Tracie W @alacodes
This makes me feel less alone
Image
3:05 PM ∙ Aug 11, 2019
21,185Likes5,482Retweets

現在的面試者都這麼性格嗎🤔

Twitter avatar for @saiday
尊重尊重尊重 @saiday
今天面試聽到最霸氣的答案是: 除了 copy/paste 之外,我不用任何熱鍵。(他還有自己強調連 build 都用滑鼠去點) 因為我覺得自己的效率已經這麼高了,沒有必要去學什麼熱鍵。你可能覺得我太高傲,但我就是這樣想的。
11:17 AM ∙ Aug 12, 2019
96Likes21Retweets

上上週這位同學的手機被媽媽收走之後,先是用 3DS 上推特求救。上週進化到用冰箱了⋯

Twitter avatar for @KiIledByDeath__
claudia @KiIledByDeath__
Image
Image
Image
1:51 PM ∙ Aug 12, 2019
380,853Likes103,722Retweets

為 Tumblr 哭哭。

Twitter avatar for @wanquribao
Wanqu 湾区日报 @wanquribao
湾区一套房子的价格可以买下 Tumblr。
3:16 AM ∙ Aug 14, 2019
13Likes2Retweets

這個推特帳號的 meme 真的很不錯,這已經是我第二次收錄了。

Twitter avatar for @ios_memes
A meme page to check while Xcode is indexing files @ios_memes
They’re in for quite a crash 🙈q
Image
10:50 AM ∙ Aug 14, 2019
285Likes72Retweets

本週推特上出現的虛擬偶像團體《Syntax Sugar》。如果看完覺得想成立團體請跟我講一聲,我可以幫忙宣傳(誤)

Twitter avatar for @ladyboblee
Bob Lee @ladyboblee
@ethanhuang13 @hokilaJ Syntax Sugars 101 (這什麼女團名字嗎❌
5:23 AM ∙ Aug 15, 2019
Twitter avatar for @joe_trash_talk
Joe Chen @joe_trash_talk
@tank1005 @ladyboblee @ethanhuang13 @hokilaJ 特別活動 《語法甜心 Syntax Sugar 感恩握手會》 現場販售 Q 版人偶 各式海報 應援 LED 燈 歡迎選購 ~@PofatTseng 衣櫃的小裙子可以穿起來了~
5:40 AM ∙ Aug 15, 2019

泡麵有版號是怎樣?整排留言都好笑。我個人比較在意的是沒遵守語意化版本啦。

最後的最後,工程師幹話更新啦!

Twitter avatar for @p5d12000
工程師幹話 @p5d12000
I just published 技術主管怎樣有效利用時間
3:21 PM ∙ Aug 18, 2019
2Likes3Retweets

以上就是本期的內容。歡迎轉寄或推薦給同事或開發者朋友。有問題或回饋請直接回覆電子報即可。

Share this post

開發者週報 #3 叉叩杯塔繼續遲到中

www.ethanhuang13.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 ethanhuang13
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing