13 報

Share this post

開發者週報 #147 「13 Pro」

www.ethanhuang13.com

開發者週報 #147 「13 Pro」

Apple/iOS 開發者的一週大小事 2022/06/27-2022/07/03

13
Jul 3, 2022
3
Share this post

開發者週報 #147 「13 Pro」

www.ethanhuang13.com

13的話

請訂閱我的 Patreon!我的目標是累積到 100 位支持者,目前進度來到 23%。

這期我蒐集到值得放的內容比較少,如果意猶未盡的話,隔壁波報很精彩。

(看前一期 · 回首頁)


🗞 SwiftUI 專欄 #3 那些不該碰的 SwiftUI API

新的一期早就寫好了,但是為了鼓勵讀者付費支持,7/8 才會開放給所有人。

想比別人早看到請訂閱!

內容預覽:

🇰🇷 Distributing apps using a third-party payment provider in South Korea

依照南韓法律規定,App Store 將開放替代的 IAP 的付費機制。請注意,該法律只是要求提供方法而沒有規定抽成,所以 Apple 還要抽 26%。

為了使用替代的 IAP 系統,你必須選擇一套付費系統提供者(PSP, payment service provider)、向 Apple 申請並取得 entitlement、為南韓市場單獨送審一版 app。該 app 裡面不能混用 Apple IAP。

雖然這套機制你可能用不到,整份文件還是非常值得一讀。畢竟未來各國政府很有可能對 Apple 做出類似的要求。

🏘Get ready for RoomPlan

不知道那個網頁是不是比較晚才做好,所以現在才發在 Developer News。

話說,今年 WWDC 跟 AR 相關的東西可說是暗潮洶湧。Keynote 隻字不提,但翻開 session 列表,還真是不少啊。

📦SwiftUI Backports

SwiftUI 每年都在加功能,為了相容舊的作業系統,有各種方法。這個套件不只把 API 給向下相容,連實作也給出來了。

我比較想分享的不是「這東西可以用」,而是去學學人家怎麼做的──他用到的 backport 技巧以及在 API 上清楚標示 deprecation,也都是我在處理 SwiftUI 向下相容時必定會使用的方法。

Twitter avatar for @shaps
s ʜ  ᴘ s @shaps
I'd like to thank @davedelong for his amazing `Backport` idea. The library uses it to make discovery and maintainability much easier. Plus I added `@availability` attributes on everything so migrating to official APIs when the time comes is👌
7:34 PM ∙ Jun 28, 2022
6Likes1Retweet

至於連實作都支援舊版 iOS 的話,我個人還是覺得 iOS 13 當作 SwiftUI 黑歷史,就別碰了吧😅

其實這個應該要在我的 SwiftUI 專欄裡去介紹,不過會排在很後面,所以還是先講。

⌨️Input Source Pro

Mac 的輸入法顯示在選單列,像我這種會把選單列隱藏起來的人來說,Input Source Pro 非常實用。它會在你切換輸入法或者是 first responder 時,提示你目前的輸入法。

Twitter avatar for @runjuuu
Runjuu @runjuuu
Input Source Pro 新版本发布 🥳 - 终于,输入法提示可以定位到光标啦!👈🤡 - 支持为每个 App 独立配置输入法恢复逻辑 - 「应用规则」添加应用更加方便,可以直接选择当前运行中的应用 快来试试最新的提示功能!超赞!🫶
4:35 PM ∙ Jun 26, 2022
250Likes29Retweets

顯示在游標附近是我建議的,作者也很快就加上去了。目前免費,之後如果轉付費的話我肯定會買。

Twitter avatar for @ethanhuang13
13 @ethanhuang13
@runjuuu 新使用者,提個建議:Position 可以多個選項,把提示放在當前文字框 leading 側附近(語系是 RTL 時出現在右側),像 Grammarly 那樣 比如說 Slack 這種應用,在一個視窗裡有會多個文字框。切到 Slack 除了知道輸入法以外,還能快速定位目前是要在哪邊輸入訊息
4:18 AM ∙ Jun 13, 2022
Twitter avatar for @runjuuu
Runjuu @runjuuu
@ethanhuang13 从输入框附近入手是一个很棒的方向呀!我之前一直在纠结要怎么准确定位光标,但如果是输入框的话应该没问题 🤯。感谢~
4:31 AM ∙ Jun 13, 2022
1Like1Retweet

🕳iOS 16 Desktop-Class API 踩坑經驗

钟颖平時罵 Apple 罵得很兇,但是遇到做得好的地方也是毫不吝嗇。

Twitter avatar for @cyanapps
Ying Zhong @cyanapps
有些应用花精力做了自己的绘图功能,苹果:PencilKit 吊打你,拿好。 有些应用花精力做了自己的文档扫描,苹果:VisionKit 吊打你,拿好。 有些应用花精力做了自己的文档搜索,苹果:UIFindInteraction 吊打你,拿好。 这个故事再次告诉了我们一个深刻的道理,有些需求只要拖得够久,苹果会帮你做。
Twitter avatar for @cyanapps
Ying Zhong @cyanapps
我一直没开 Bitcode,直到苹果废弃了 Bitcode。 这个故事再次告诉了我们一个深刻的道理,有些需求只要拖得够久,就不用做了。 切记。
2:50 PM ∙ Jun 29, 2022
91Likes7Retweets

根據他的經驗,UIFindInteraction 做得很好。

Twitter avatar for @TaioApp
Taio @TaioApp
The first amazing iOS 16 stuff we decided to adopt is native text search, we are replacing our homemade one with this to align with the system. It works great on iPhone and iPad already, everything is so smooth, and we also ported our regex search, so we won't lose anything.
Twitter avatar for @TaioApp
Taio @TaioApp
FYI. We tested Taio on iOS 16 Beta 1 and haven't found obvious issues, will look into new features that can be brought to the app soon! #WWDC22
3:14 PM ∙ Jun 26, 2022
7Likes1Retweet

同場加映 UIEditMenuInteraction。

Twitter avatar for @cyanapps
Ying Zhong @cyanapps
更有趣的是支持这个新实现甚至不需要新 SDK,因为只是一个新的 delegate 方法。 Xcode 14 分支上开发测试好,cherry-pick 到 Xcode 13 的分支编译运行,一样支持。 什么 Day 1 support,试试 Day -1 support。
Twitter avatar for @cyanapps
Ying Zhong @cyanapps
自 UIMenuController 出现以来,开发者终于有了一个可以把自定义选项放到该死的系统选项前面的机会,而这是以 UIMenuController 宣告死亡为代价的。 不要怀疑,在 iOS 16 以前你没有任何机会可以做到这个效果。而在 iOS 16 上面这个其实是 https://t.co/FZrDMLGdre https://t.co/ficFvn4ahe
3:38 AM ∙ Jun 30, 2022

再加映 UIPasteControl 踩坑經驗。

Twitter avatar for @cyanapps
Ying Zhong @cyanapps
我总算搞清楚为什么了,因为我把它放在 UIBarButtonItem 上面,然后它会显得非常大。 我通过 transform 调整了显示的比例,然后,它就会坏。 从安全的角度来讲是合理的,防止开发者通过 UI 技巧乱搞,但是真的应该文档说明。
Twitter avatar for @cyanapps
Ying Zhong @cyanapps
想问下有没有人在 iOS 16 Beta 2 上成功试验了 UIPasteControl,反正我是完全搞不懂到底要怎么用。 我试验下来的结果就是剪贴板的弹窗仍然会出来,和直接读取 UIPasteboard 没有任何区别。 救命,官网没有任何文档和示例代码:https://t.co/BGniKCKrUv https://t.co/fnB0z6VwCQ
12:17 PM ∙ Jul 3, 2022

還有很多推文沒貼出來。我想表達的意思是,我們應該要去知道各領域裡的專家,而不見得什麼東西都要自己嘗試。文字處理或生產力工具相關的問題我一定向他請教。

🐣13 Pro

話說我最近又開了一個 Twitter 帳號,我為什麼說又呢?

總之就是原帳號以後主要講英文,所以開了一個中文帳號。

也趁機觀察一下推特的推薦演算法。新帳號因為演算法的關係,很多推文都沒被看到,所以我在這邊貼一些:

iOS 面試(官)推文串

Twitter avatar for @ethanhuang13pro
13 Pro @ethanhuang13pro
印象中,推特上討論 iOS 面試話題,幾乎都是從應徵者的角度。不過我覺得聊聊面試官的角度也很有趣啊 應徵者的困難是準備跟展現實力。但是 iOS 開發者的工作面向這麼多,面試官也很難當。要在短時間內做出判斷,很考驗對用人單位需求的理解、團隊文化匹配、技能樹等等 先用個想到什麼就講什麼的方式聊
10:03 AM ∙ Jun 30, 2022

軟體工程師 soft skills(Addy 那篇文章很棒)

Twitter avatar for @ethanhuang13pro
13 Pro @ethanhuang13pro
哇,完全命中我在軟體這行累積到的「做人做事」中心思想,就好像有人幫我用英文寫好似的😂 幾乎每一條都是我最近半年內想過、甚至每週都會碰到的東西 學習學習的能力、衡量價值跟單位時間產出、解決對的問題、見樹也見林的視角切換、UX、T 型技能樹、怎麼接手各種階段的專案、文件、溝通、帶團隊… https://t.co/BBWx95hmQx
Twitter avatar for @GeekPlux
GeekPlux @GeekPlux
这篇文章读了我两个多小时…涵盖了程序员职业生涯的方方面面,强烈推荐。Addy 的文字水平很高,每次读他的文章都是一种享受。 https://t.co/eFCao1C00F
11:26 AM ∙ Jul 3, 2022
10Likes1Retweet

最後…

Twitter avatar for @ethanhuang13pro
13 Pro @ethanhuang13pro
為什麼大家都問我會不會有 13 Pro Max 、Max 或 Ultra。我最喜歡的是 Air 啊😂
3:21 AM ∙ Jun 30, 2022
9Likes1Retweet

🤪Random Tweets

Twitter avatar for @PR0GRAMMERHUM0R
Programmer Humor @PR0GRAMMERHUM0R
Time to start from scratch reddit.com/r/programmerhu…
Image
5:00 PM ∙ Jun 27, 2022
816Likes144Retweets
Twitter avatar for @viticci
Federico Viticci @viticci
I regret to inform you that even in an alternate timeline, and even in deep space, there are still people who keep their macOS dock at the bottom (For All Mankind, S03E04)
A shot of a computer screen in For All Mankind showing the macOS dock at the bottom of the spacecraft control screen
12:25 AM ∙ Jul 2, 2022
1,138Likes88Retweets

大型 retain cycle 真是百看不厭

Twitter avatar for @WildCat_io
WildCat @WildCat_io
What a beautiful #Swift reference cycle!
Image
6:42 AM ∙ Jul 1, 2022
29Likes6Retweets

💼職缺/履歷交流區

如果你有 iOS 相關職缺或是求職履歷想要刊登在開發者週報,請見關於。


🙏支持 13 寫作,請訂閱我的 Patreon(我的目標是累積到 100 位支持者,目前進度 23%)、按喜歡❤️、留言💬、回信✉️與我交流。

Share this post

開發者週報 #147 「13 Pro」

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