Ethan Huang

Sony 還繼續做電子書啊。這個大小,黏在 iPad Pro 10.5’ 背面剛剛好(誤) www.theverge.com/circuitbr…

OMG! 世界迷霧開發者的專訪!My favorite and the most inspiring indie app dev in Taiwan. ❤️❤️❤️ www.cbnweek.com/articles/…

原來是蘋果的五十度灰啊 9to5mac.com/2018/04/1…

這兩天正在進行的 @appbuilders_ch 似乎有很多好料 😉 appbuilders.ch

還有一個就是自動追蹤睡眠、存入 HealthKit 的 AutoSleep itunes.apple.com/tw/app/au…

背景智慧追蹤的 app,另外一個是 Sleep Cycle 他們家的 Life Cycle。主要統計你人在什麼地方的時間分佈 itunes.apple.com/tw/app/li…

App Store 編輯今天精選的 Moment 是挺不錯的 app,目的是幫你戒手機成癮,之前試過一陣子。它可以記錄每天用多久手機、解鎖幾次,甚至用一個巧妙的方式統計個別 app 使用時間。不過對我來說,重點是原來還可以從 iOS 抓出這些資訊啊 itunes.apple.com/tw/story/…

每次解鎖都跟我講一次…

NSPredicate 真的是很有意思。不要因為它不很 Swift 就小看了它

Wow, Facebook app still not support iPad Pro 10.5’ yet. Just wow.

Some Error can be catch but not thrown in Swift

There are SKError/HKError in StoreKit/HealthKit. They have errorCode, errorUserInfo, and errorDomain, which means they could conform to CustomNSError. You can catch them, but to throw them as Swift Error, you need to “extension SKError/HKError: Error { }” youself.

Why? 🤔

Sample code is here.

WWDC 將至。獨立開發者前輩總會叮嚀這個季節不要做大型的功能開發,或是基於 iOS 特性的重大的商業決策,因為 WWDC 之後恐怕整個都會翻掉。對於 indie dev 來說,此時最適合調調效能、修修 bug、發發 radar,或是去學點別的東西,不然就是去度假吧。6 月以後又有得忙了。

生平第一個 app 是電子書(聖經),用網頁排版,本來是打算用 web 來做。後來還是學習 Xcode、Objective-C 跟 UIKit,做成完整的 native app。但現在看到 PWA,總覺得可以用 PWA 重新做一次。

iOS 11.3 的 PWA 還不是完整的 PWA。比如說離線瀏覽就不支援、每次「app 回到前景」就重新讀取。目前也只有用過 Twitter Lite 比較好用。繼續觀察

This article about iOS IAP subscriptions is fantastic! So helpful, thank you @iKenndac. ikennd.ac/blog/2018…

A quick reminder for iOS dev: git status clean != everything the same between 💻 machines 🖥:

  • Files in .gitignore: Non-shared Scheme/Workspace settings 🛠
  • Empty folders: Search Paths 👀
  • Case-insensitive FS: Change name case of files in .xcassets, crash on #imageLiteral 💥

git 不能保證每台電腦上的狀態完全一樣。以我曾遇過的坑為例:

  • 列在 .gitignore 的檔案:scheme 或 workspace 的設定,如果不是 shared,每台電腦可以完全不一樣。天差地遠
  • 空的資料夾:同事換了 framework 的位置,但 Header Search Paths 設定沒拿掉舊的。他的電腦可以 build,我 pull 後卻不行,因為我的空資料夾還在
  • 檔名不區分大小寫的檔案系統(Mac 預設):把 xcassets 底下的檔案大小寫改掉。git 看不出來差異,build 得過,但是 runtime 時 #imageLiteral 這種 code 會 crash

不是要提出解法,只是講一下有這些坑

Try different Twitter clients on iOS these days. And the mobile web app is swifter than official app. (Don’t let the name Twitter Lite fool you.)

Do a quick experiment 🔬: Add it to homescreen from Safari, then show it to your friends. Chances are they thought it’s native. 😉

Modern iOS dev life:

  • Xcode 9.2 for main project until its next release⌛️
  • Xcode 9.3 for iOS 11.3 dev and Swift 4.1 side projects. High Sierra required⛰️🧗‍♀️
  • Xcode 9.4 beta for iOS 11.4 beta⚠️

Also, never get Xcode via MAS🚫 Directly download from /download/more/

過去兩年 Artsy 團隊把 iOS app 從 native 改造成 React Native,換了完全不一樣的語言、工具與工作流程,還可以跟 web 共用程式庫。我覺得好厲害。聽 @orta 的分享是一種享受 vimeo.com/260417482

(Artsy 是一間藝術相關的 startup。整個 app 是開源的,使用而且深入參與開源專案,成員為 Cocoapods、Danger 等專案的主要貢獻者)

每隔一段時間我就要推薦 Blackbox 這個解謎遊戲給 iOS 開發者。所有謎題都基於 iPhone 的軟硬體特性。也許你會在過程中發現以前不知道的 API 哦! blackbox.app.link/NlnLySyQY…