13 報

Share this post

開發者週報 #39 太傷害了

www.ethanhuang13.com

開發者週報 #39 太傷害了

Apple/iOS 開發者的一週大小事 2020/05/04-2020/05/10

13
May 10, 2020
Share this post

開發者週報 #39 太傷害了

www.ethanhuang13.com

13的話

WWDC 時間發表。Facebook SDK 造成全球 iOS apps 當機,塞爆 Firebase Crashlytics,然後我寫了一個替代方案,可是 Facebook 可能不會讓我這麼做。

(看前一期 · 回首頁)


 WWDC20 將於 6/22 舉開

  • Apple 提醒開發者下載 Apple Developer app 來參與這場盛會。不過到本刊截稿時間,這個 app 還沒有 Mac 版。

  • 官網

  • 台灣新聞稿

這裡有「歷年 WWDC 發表到舉行相隔時間」的統計。今年算是相對短的。

 Apple 發表 MacBook Pro 13 吋升級款

這個款式是 MacBook 全系列最後一個轉換成 Magic Keyboard,再見了蝶式鍵盤。

想買的人要注意一下基本款是 Intel Core 第八代,進階款才是第十代。但是因為 Intel 定價的緣故,第十代會貴很多。這導致,雖然產品本身不差,但是價格定位有點尷尬。往下可以去買 MBA 高階款、往上可以去買 MBP 16。我這邊列兩個 YouTube 影片都有談到這點:MKBHD、David Lee。

也有謠言指出 14 吋的款式。如果不是急需的話可以多方考慮再入手。

💥Facebook SDK 導致大規模 iOS 應用無法開啟

細節可以看我的推文:

Twitter avatar for @1star_therapist
iOS 開發者職業傷害大全 @1star_therapist
#太傷害了! 事情是這樣的,今天稍早 Facebook 某個 remote config 設定錯誤,導致有使用 FBSDK 的 iOS app 都會 crash github.com/facebook/faceb… 然後這件事情似乎導致 Firebase Crashlytics 被打爆了 status.firebase.google.com/incident/Crash…
Image
Image
2:20 AM ∙ May 7, 2020
65Likes32Retweets

我也用了 ASWebAuthenticationSession 寫了替代方案,只要 100 行以內的程式碼,你就可以把 FBSDKLoginKit 拔掉了。還有 @lihenghsu 的版本。

Twitter avatar for @ethanhuang13
13 @ethanhuang13
FacebookAuth is for iOS app developers who need to support Facebook login but don't want to use the official SDK.😒 Single closure API. ~100 loc of implementation. iOS 11+ required. Gist:👇 gist.github.com/ethanhuang13/7…
Image
3:39 AM ∙ May 9, 2020
39Likes10Retweets

但是!有開發者回覆我說他們做過,被 Facebook 聯絡說這樣違反規則,威脅一定要用官方 SDK,不然要停權。後來他們乾脆把 FB 登入功能拔掉。

所以我程式碼留著,你自行決定。

Twitter avatar for @ethanhuang13
13 @ethanhuang13
有開發者說他們這樣做過(自己串 OAuth,不用官方 SDK),但是被 Facebook 威脅要停掉帳號權限🤷‍♂️,最後他們就乾脆直接拿掉 FB Login~ 我把程式碼留著,給你自己決定囉。 #真棒 #太傷害了
Twitter avatar for @ethanhuang13
13 @ethanhuang13
Pointed out by @hal_lee this approach violates Facebook Platform Policy 8.2 and might be contacted by them to stop doing it. The best way to not using Facebook SDK is not to support Facebook Login at all. I leave the code and let you make the decision. https://t.co/xfJtG599VB
3:29 PM ∙ May 9, 2020
2Likes1Retweet

🧑‍💻Multiple Trailing Closures

這個 Swift Evolution 引起很多爭議,因為語法又要改了。有些人很討厭,但我個人是滿喜歡的。示範:

補個雙關語笑話😜

Twitter avatar for @jnadeau
Académie des Himbeaux-Arts @jnadeau
Looks like a lot of people are going through the stages of grief regarding some Swift proposal. I hope they eventually find closure.
10:07 PM ∙ May 8, 2020
274Likes23Retweets

🧭GitHub 推出 Codespaces 網頁 IDE

iPadOS 的操作展示:

Twitter avatar for @notdetails
Joel Califa @notdetails
People have been asking about using Codespaces on the iPad. Here's what it looks like:
Image
7:45 PM ∙ May 6, 2020
2,048Likes436Retweets

目前還沒有 Swift,不過可以先申請加入,Apple 的人也積極在參與。另外如果想了解在 VSCode 執行 Swift,可參考 NSHipster 的介紹。

💪SwiftUI 效能調校

Baye 用 SwiftUI 寫了一個 Linux 伺服器 dashboard app—ServerCat。滿多 SwiftUI 效能上的心得,點推文看完整串。

Twitter avatar for @waylybaye
Baye @waylybaye
正在仔细研究 SwiftUI 的内置控件和自己画的 Path 渲染一次都要多少微秒。其实我写前端那么多年从来没有在意过一个 a,p,button 渲染需要多长时间,毕竟网页不丢帧才不正常…… 但 iOS 上图表非常多且在实时更新的情况下,真的很难在一帧 16ms 的时间里绘制完。
Image
Image
Image
12:21 PM ∙ May 5, 2020
196Likes29Retweets

為了效能,有的時候要用比較土炮的方式。

Twitter avatar for @waylybaye
Baye @waylybaye
使用了上古秘技:循环展开术。人肉把 ForEach 循环展开,对性能提升有特效。毕竟在圆环图形中并不需要 ForEach 自带的 diff 等等操作,平均一次渲染时间从 50μs 降到了 15μs,提升几倍。
Image
2:35 PM ∙ May 5, 2020
60Likes7Retweets

✂️AR 剪下貼上

這個 demo 影片一定要看一下的。App 本身是用 React Native 寫的。原始碼在此。

Twitter avatar for @soonaorlater
Soona @soonaorlater
Each time I view this clip, I think of Clarke’s third law. Any sufficiently advanced technology is indistinguishable from magic.
Image
1:06 AM ∙ May 4, 2020
17,570Likes5,564Retweets

🧭你還在用 UIWebView 嗎?

App Store 已經禁止上傳了,比較簡單的方案是最低支援 iOS 11 起。

Twitter avatar for @saiday
空中花猿 𓃻 @saiday
@joe_trash_talk 如果你們的產品允許,直接用 iOS 11+ 的 WKHTTPCookieStore 應該就一了百了。 如果不允許只支援 iOS 11+,遇到 AJAX 情況,只能用 JavaScript 塞 cookie,我覺得很不舒服。
10:33 AM ∙ May 4, 2020
7Likes2Retweets

📅日期處理的坑

類似話題每隔一段時間就會出現。更多資料可以回去參考第 29 期。

Twitter avatar for @tuzaiz
Henry 兔子 @tuzaiz
今天遇到一個有趣的狀況,我們有一個新功能需要取得隔天早上九點的 Date,然後我給它寫了個測試,由於我們市場有包含日本所以也加上日本曆的 Case,而測試的日期是 2018 年的三月某天(因為之前的測試是那時寫的,就延用相同的日期),結果取得的日期卻是 28 年後的隔天早上九點
11:42 AM ∙ May 4, 2020
15Likes1Retweet
Twitter avatar for @tuzaiz
Henry 兔子 @tuzaiz
百思不得其解下開始一步步找錯,結果發現因為前年日本還是平成 30 年,因此取得的 DateComponents 中的 year 是 30,然後把 day 跟hour 設定好再送回 Calendar 去轉換成 Date 後,這個 30 就變成令和 30,因此會取得 28 年後的日期
11:42 AM ∙ May 4, 2020
Twitter avatar for @tuzaiz
Henry 兔子 @tuzaiz
另外泰國佛曆也很奇特,一般來說取得的 DateComponents 如果不包含 year,送回去 Calendar 會取得當年的日期回來,可是在泰國佛曆下,它會給你佛曆 0 年的日期,因此會拿到 2563 年以前佛陀涅磐該年的日期,測試看到一大串負數 Timestamp 時著實嚇了我一跳
11:42 AM ∙ May 4, 2020

🧑‍💻if a== b == c

你解得出這題嗎?答案在這邊。

Twitter avatar for @krzyzanowskim
Marcin Krzyzanowski @krzyzanowskim
I want == this == in == Swift ==
Image
1:40 PM ∙ May 5, 2020
61Likes1Retweet

👍大量優秀的新 Apps

全球居家隔離讓很多開發者有機會去完成他們的 side projects。這則推文吸引了許多開發者回應,我看到十來個 apps 都很不錯,有興趣可以參考推文的回覆。

Twitter avatar for @stroughtonsmith
Steve Troughton-Smith @stroughtonsmith
🧑‍💻 Have you been fortunate enough to be able to ship any new iOS/Mac apps during your time in lockdown? Come share what you've been working on that makes you happy
12:32 AM ∙ May 8, 2020
224Likes25Retweets

🐦iOS 開發者職業傷害大全

這是我在經營的 Twitter 帳號,一開始是看到開發者感嘆一些無理的 app 一星評價,想說把它們蒐集起來。後來就擴大到各方面了。

不知道為什麼最近素材有點多(#太傷害了),所以在這邊特別提一下。歡迎追蹤或提供素材。

Twitter avatar for @1star_therapist
iOS 開發者職業傷害大全 @1star_therapist
這個 Twitter 帳號專門蒐集 iOS 開發者的悲情事蹟與職業傷害。包含但不限於: 🛠開發工具難用 💥系統 API 自爆 💊蘋果退審 ⌨️蝶式鍵盤 🤪使用者評一顆星 🦐神奇客戶需求 🐷豬隊友 💩接手髒扣 👽PM 亂開規格 😬奇葩設計 💸HR 砍價 😈老闆灌雞湯畫大餅 🤯新知太多,焦慮焦慮 歡迎提供素材,互相取暖🤗
11:06 AM ∙ Sep 10, 2019
76Likes19Retweets

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

Share this post

開發者週報 #39 太傷害了

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