在 Flutter App/Plug-in 中改用 Swift Package Management (SPM)

關心 iOS/macOS 開發、或是從事包括蘋果平台的跨平台開發的朋友,大概都會注意到今年 CocoaPods 官方宣布進入維護狀態,不再積極開發新功能。同時,Flutter 官方也宣布,接下來蘋果平台的 plugin 開始支援蘋果官方的套件管理工具 Swift Package Management (SPM),慢慢要從 CocoaPods 轉移到 SPM。

這樣的改變自然會衝擊到 Flutter 開發者,這樣的衝擊可以分成兩個部分 — 對 Flutter App 的開發,以及 Flutter Plug-in 開發的部分,整個生態系要轉移到 SPM 上會需要一些時間,但已經是大勢所趨。

要怎麼啟用 Flutter 的SPM 支援,可以參考 Flutter 的官方文件,不過,這兩天試著將手上在維護的一些 Plug-in 升級到 SPM 之後,發現一些官方文件上沒有寫清楚的地方。

Continue reading

在 Windows 上使用小麥注音輸入法

今年上半年度個人在 side project 上的主要心力,大概就是把小麥注音輸入法移植到 Windows 系統上。對我來說,相當於在幾個主要的作業系統上,都有我慣用的中文輸入法,也都比較能夠發揮生產力。

小麥注音是一套從 macOS 系統上開始發展的注音輸入法,在 2022 年的時候,因為幾個朋友平常工作用的機器也不侷限在 macOS 上,所以也開始把自己慣用的輸入工具移植到其他平台上,包括基於 fcitx5 框架的 Linux 版本,而我自己出於好玩,把原本的程式改用 TypeScript/JavaScript 寫了一次,而做出了 Chrome OS 版本,我當時把一台舊 PC 裝上了 Chrome OS Flex,我在那台機器上,也有了順手的輸入法了。

那時候也大概看到了一個技術上的可能 — Windows 上有一套叫做 PIME 的輸入法框架,在這個框架上,可以用 Python、或是可以用 Node 執行的 JavaScript 的輸入法,既然小麥有一個以 TypeScript/JavaScript 寫成的版本,那就有透過 PIME 移植到 Windows 的可能。既然技術上可行,後面就是資源的問題了,人到中年能夠用在工作與家庭以外,還能投入到其他出於興趣的專案上的時間實在不多,大概是在過年期間,才有時間看一下 PIME 的程式,然後讓小麥的程式在 PIME 上面動了起來。

Continue reading

讓注音輸入法支援 HTML 的 Ruby 標示

不久(ㄅㄨˋ ㄐㄧㄡˇ)之前(ㄓ ㄑㄧㄢˊ)一時興起(ㄧ ㄕˊ ㄒㄧㄥˋ ㄑㄧˇ)(ㄗㄞˋ)小麥注音(ㄒㄧㄠˇ ㄇㄞˋ ㄓㄨˋ ㄧㄣ)輸入法(ㄕㄨ ㄖㄨˋ ㄈㄚˇ)(ㄉㄜ˙) fcitx5 移植(ㄧˊ ㄓˊ)版本(ㄅㄢˇ ㄅㄣˇ)(ㄕㄤˋ)加上(ㄐㄧㄚ ㄕㄤˋ)(ㄌㄜ˙)一個(ㄧ ㄍㄜ˙)實現(ㄕˊ ㄒㄧㄢˋ)(ㄒㄧㄥˋ)(ㄉㄜ˙)功能(ㄍㄨㄥ ㄋㄥˊ)(ㄗㄞˋ)打開(ㄉㄚˇ ㄎㄞ)特定的(ㄊㄜˋ ㄉㄧㄥˋ ㄉㄜ˙)(ㄆㄧㄢ)(ㄏㄠˋ)設定(ㄕㄜˋ ㄉㄧㄥˋ)之後(ㄓ ㄏㄡˋ)(ㄗㄞˋ)輸入(ㄕㄨ ㄖㄨˋ)文字(ㄨㄣˊ ㄗˋ)(ㄕˊ)如果(ㄖㄨˊ ㄍㄨㄛˇ)不是(ㄅㄨˊ ㄕˋ)按下(ㄢˋ ㄒㄧㄚˋ) Enter,而是(ㄦˊ ㄕˋ)按下(ㄢˋ ㄒㄧㄚˋ) Ctrl (ㄩˇ) Enter 按鍵(ㄢˋ ㄐㄧㄢˋ)那麼(ㄋㄚˋ ㄇㄜ˙)輸入法(ㄕㄨ ㄖㄨˋ ㄈㄚˇ)就不是(ㄐㄧㄡˋ ㄅㄨˊ ㄕˋ)(ㄓˇ)(ㄐㄧㄤ)中文(ㄓㄨㄥ ㄨㄣˊ)輸入(ㄕㄨ ㄖㄨˋ)(ㄉㄠˋ)各種(ㄍㄜˋ ㄓㄨㄥˇ)文書(ㄨㄣˊ ㄕㄨ)(ㄖㄨㄢˇ)(ㄊㄧˋ)(ㄓㄨㄥ),而是輸入(ㄕㄨ ㄖㄨˋ)帶有(ㄉㄞˋ ㄧㄡˇ)注音(ㄓㄨˋ ㄧㄣ)標示(ㄅㄧㄠ ㄕˋ)(ㄉㄜ˙)中文(ㄓㄨㄥ ㄨㄣˊ)呈現出來(ㄔㄥˊ ㄒㄧㄢˋ ㄔㄨ ㄌㄞˊ)(ㄉㄜ˙)效果(ㄒㄧㄠˋ ㄍㄨㄛˇ)就像(ㄐㄧㄡˋ ㄒㄧㄤˋ)(ㄋㄧˇ)現在(ㄒㄧㄢˋ ㄗㄞˋ)看到(ㄎㄢˋ ㄉㄠˋ)(ㄉㄜ˙)文章(ㄨㄣˊ ㄓㄤ)一般(ㄧ ㄅㄢ)

Continue reading

在 macOS 上使用名片型 LED 字幕機

前兩週在逛光華商場的時候,看到店家在賣一種名片型的 LED 字幕機,想想如果在身上或是桌上有一塊這樣的玩意,顯示一些文字/圖案,應該還頂有意思的,就買了兩組回家當做玩具。

這玩意看起來稱呼很多種,我後來在網路上看了一下,以這一則網路拍賣來說,就還有「LED跑馬名牌」、「LED名片」、「LED名牌」、「LED胸牌」、「LED電子名片」等稱呼—販賣這種商品的店家還頂多的,甚至看起來型號都一樣,不太了解這個業界,也不知道是同一個工廠有很多個代理商,還是說有很多家都在生產,但是共用同一個設計。

這類字幕機價格在台幣五六百元之譜,有紅、藍、黃、綠等多種顏色,我買來的這組解析度為 12×48 pixels,但是好像還有一種更小一點的,解析度是 11×44 pixels。在裝置上可以容納八條訊息,可以用後方的按鈕決定要切換到哪一條訊息,後面還有磁碟以及別針,可以讓你貼在鐵器或是別在身上。

機器上也提供 USB 接頭,除了拿來充電之外,連接電腦之後,還可以透過軟體修改字幕機裡頭的內容,但軟體這部份其實有點麻煩。

Continue reading

因為你用來做 Code Sign 的 Certificate 是幾個月前產生的,所以你的 App 會 Crash

這篇 blog 就是我在 2015 年四月份台北 Cocoaheads 在台上講的事情。

在過年期間,我把去年 11 月時寫的捷運轉乘這個個人的小 iOS App 改了改,在年假結束的前幾天 submit 一個版本,結果,過了一週,被 reject。

蘋果的 reviewer 說,他們只要一安裝這個 App 的 binary,就會馬上 crash;可是在我自己的開發環境中,完全無法重現這個狀況,由於過完年公司的事情就一件一件接著來,所以也就擱在一邊不管了,我到今天才知道為什麼會 crash,而且理由還頂荒唐的。

這兩天我們把公司產品 code 裡頭的一條新功能的開發分支(講 feature branch 不知道會不會比較好懂)併回主線,然後讓主線的程式進入 Jenkins build,讓公司的 QA 部門做出貨前的測試。狀況很奇妙,原本的 App 也是跑得好好的,在支線開發的過程中,也跑得好好的,但是從 Jenkins 編出來的 build,只要一跑起來,就會 crash。

Continue reading