macOS 的「公用」與「投遞箱」目錄的用途

在每個 macOS 使用者的根目錄底下都有一個「公用 (Public)」目錄,而且這個目錄裡頭還有一個「投遞箱 (Drop Box)」目錄,身為 Mac 使用者這麼多年一直不知道它們的真正用途,直到最近...

最近因應疫情,很多人必須使用自己的電腦在家工作,然而我家只有一台電腦,所以我就幫家人建立一個新的使用者帳號方便工作用。建立好新的使用者帳號之後,該怎麼讓不同帳號之間共享檔案呢?這時候就需要「公用」跟「投遞箱」了:

  • 你要給別人:你放在「公用」目錄裡頭的檔案可以讓其他帳號存取,但是其他人無法修改或刪除檔案。
  • 別人要給你:其他帳號可以把檔案拖移到你的「投遞箱」目錄,但是只有你看得到「投遞箱」的內容,其他帳號看不到。

更詳細的說明可以參考蘋果官方說明文件

讓 Xcode 專案易於版本控制的方法 - 使用 git pre-commit hook

好幾年前我曾經寫過一篇讓 Xcode 專案易於版本控制的方法,它非常的好用,我也在多個專案裡頭使用這樣的配置用了好多年,都沒有出過什麼問題。

直到最近遇到了 SwiftUI 的 Preview 功能。

猜測可能是因為原先的設定是在 Build phase 去執行排序的 script,導致它破壞了 SwiftUI Preview 的一些機制,我想到了幾個解法,像是

  • 不要放在 Build phase,放到 Run phase 去執行。
  • 改用 XcodeGen 之類的工具產生 project file。
  • 使用 git hook 的 pre-commit 來執行排序。
  • 不要用,等真的遇到 merge conflict 了再說 lol

最後我選擇了 pre-commit 的做法。

繼續閱讀 ➜

如何建立不同的 SSH Key 對應到不同的 Github 帳號

情況

我有私人的 GitHub 帳號,為了方便自己跟公司管理起見,我用公司的信箱申請另一個 GitHub 帳號來存取公司的 repo。

問題

同一台電腦的一組 SSH Key 只能綁定到一個 GitHub 帳號,無法用同一組 SSH key 綁定到多組帳號,所以我無法把綁到私人帳號的 SSH Key 再綁到公司帳號。

解法

我要在同一台電腦建立不同的 SSH Key 對應到不同的 GitHub 帳號,並且在執行 git 操作時,系統會自動選擇對應的 SSH key。

繼續閱讀 ➜

What Time: 一個寫給孩子的小玩具

我的小孩逐漸長大,到了需要看得懂時鐘的年紀了,但經過多次的嘗試,無論是看圖學習或是寫練習本,他就是記不住要怎麼看指針時鐘。

還好,我是一個工程師,而且是一個會開發 iOS App 的工程師。

既然小孩會被手機 app 吸引、研究報告又證實在遊戲中學習的效果好,那我就來開發一款 app 讓孩子可以不停的練習吧。所以趁著防疫期間,我就做了一個很簡單的 app,它會隨機顯示時間,只要正確輸入顯示的時間,就會再隨機顯示另一組時間。

就是這麼簡單樸實的一個小東西,卻可以讓小孩玩得不亦樂乎,而且效果驚人,不到一個星期他已經會看時鐘了!

有興趣的人可以來這裡下載原始碼,自己安裝到手機上玩。

如何下載、安裝、管理 Xcode

下載

不要透過 AppStore,因為速度太慢太不穩定了,要去官方網站下載才快。但是我們還有更快的方法,可以透過下載軟體同時開啟多條連線下載,我推薦使用 XcodesAppDownloader-for-Apple-Developers,前者比較漂亮,後者還可以下載 WWDC 的影片。

安裝

不要直接解壓縮 xip 檔,這樣會花很長的時間。下指令去解會快很多:

xip -x Xcode.xip

管理

可以放多個不同版本的 Xcode 在 Applications 資料夾,只要名稱不一樣就好了,記得要下指令來指定要使用哪個版本。

sudo xcode-select -s /Applications/Xcode.app

時間久了之後,會產生很多沒再用的檔案佔用空間,我們可以使用 DevCleaner for XcodeXcodeCleaner-SwiftUI 來幫忙清理,效果非常的好!

參考資料

安裝 Xcode 的正確姿勢