開發者週報 #19 更新 iOS 不可能變磚的原理
Apple/iOS 開發者的一週大小事 2019/12/09-15
13的話
本週大事:Xcode 11.3、iOS 11.3、Mac Pro 上架(台灣還沒)、Flutter 1.12
用我的話來說是這樣:

𝕏
How long have we not seen iOS, iPadOS, macOS, tvOS, watchOS, and Xcode official released at the same day?🤔
仔細想想,我們有多久沒有見到 iOS、iPadOS、macOS, tvOS、watchOS、Xcode 在同一天出正式版了?#重大突破
Xcode 11.3 正式版
我用 xcversion 下載到 beta 版,最後還是直接上官網抓。

𝕏
🚨 #Xcode11.3 GM Seed is out! 🚨
📝 - developer.apple.com/documentation/… (Link says beta?)
⬇️ - download.developer.apple.com/Developer_Tool…
iOS 13.3
馬上就來把 Memoji 從鍵盤中關掉。

𝕏
馬上關掉

Apple Terminal @AppleTerminal
如何整合 Sign in with Apple 到自己的 iOS App 上
iOS & Backend
越來越多 Sign In with Apple 踩坑文章了。👍
此外 13.2 有新增了「註冊」按鈕:

𝕏
Oh, Apple added a .signUp style for Sign in with Apple buttons in iOS 13.2. Much nicer than “Continue with Apple”.
Swift 的 && 與 || 右邊用了 @autoclosure

𝕏
刷題遇到了一個 Swift 問題
在 recursive function (func A) 內 有一段這樣的內容
isTrue = isTrue && x==y && A(y)
這時候 A(y) 沒有反應
容我補個 gist

𝕏
@marslin_dev @NelsonT @handkid 我來補完,就 Swift 討論,&& 和 || 都是 static func 定義在 sodlib 裡, rhs argument用 autoclosure 包起來,讓它有 lazy 的功能,如下:
static func && (lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool {
return lhs ? try rhs() : false
}
可以看到唯有 true 才 rhs()

𝕏
@marslin_dev @NelsonT @handkid @autoclosure 同理
static func || (lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool {
return lhs ? true : try rhs()
}
比較特別的是 ==, || , && 都不是語言層面的運算子,而是一個 stdlib 裡的 function

𝕏
喵的,我去年 iPlayground 有講啊...
果然是冷門場次啊,大家都去隔壁棚 @marslin_dev 那場瞻仰其風采了

Pofat @PofatTseng
Mac Pro 到底貴不貴
頂規 50,199,美金!

𝕏
第一眼我還以為是台幣😂C

Xcode Releases @XcodeReleases
有輪子的機殼要加價。Apple 第一台四輪產品?

𝕏
Feet or Wheels? Only €480 extra, because of course it requires a whole new chassis frame and isn't just something you can attach later


推文作者是 Disney 的員工。對他們來說似乎不貴。

𝕏
Also, to be fair, the price for the Mac Pro is not an issue for large VFX/CG firms. Here’s the top-end Mac Pro vs. a similarly spec’d Dell (and you’ll find similar Dells/HPs at every large VFX/CG house). Crazy price for normal people, but Mac Pro is not for normal people.

但是對於一般開發者來說呢:
還是用 iMac Pro/MacBook Pro 吧。
不然就試試看這招?
「iOS 更新不可能變磚」的原理
我在 MacRumors 的留言區看到的。
Xcode 小技巧
搜尋用 regex 找中文

𝕏
刚刚学到了一招,在 Xcode 里面使用正则表达式来匹配中文字符串,可以用 \p{Han}。比如我要匹配所有中文内容的 String 类型,就可以用:"\p{Han}+"。
这一搜不得了,原来我的项目里还有这么多中文,国际化之路漫漫。哭了…


𝕏
寫swift真的是很久沒用到正則😇
如果想找到包含其他符號文字的中文字串的話建議使用
".*\p{Han}+.*"q

TualatriX @tualatrix
內建 Build Settings 說明
其實我也是看推才想起來😂
Code Review 導讀與討論
最近也是滿多人在討論 code review 的。
下面是其他角度:
Flutter 1.12 以及 macOS 上的 Flutter App

𝕏
Flutter 1.12
- iOS Darkmode
- New Cupertino Widgets
- Upgraded add-to-app support
- Google Fonts
- Android X by default
#FlutterInteract
剩下的請自行 follow GDE 的推文。
五階段
資深工程師症候群?

𝕏
上週我勉強體會到了什麼是成為資深工程師的滋味。
我花了一個下午寫了一個 Library,正要在 GitLab 上面建一個 project 推上去,定神一看才發現 GitLab 上面已經有一分一模一樣用途的 Library,還是自己在七個月之前寫的。
而且七個月之前寫的那份還比現在寫得好。
以上就是本期的內容。歡迎轉寄或推薦給同事或開發者朋友。有問題或回饋請直接回覆即可。













