iOS 平台第三方輸入法的生命週期到底是怎樣的?

我們剛剛討論了 macOS 平台第三方輸入法的生命週期到底是怎樣的?,現在趁熱再來聊聊 iOS 平台的第三方鍵盤生命週期

在蘋果官網,也就只有個這:

這看起來似乎很容易理解,鍵盤的生命週期是系統管理的,每次用戶呼出鍵盤,就它就啟動,用戶收起鍵盤,過一會它就被消滅了。

但有了前文對 macOS 輸入法框架的生命週期的經驗,我們再來看 iOS,真的是這樣嗎?在蘋果開發者文檔[……]

點擊跳轉以繼續閱讀

macOS 平台第三方輸入法的生命週期到底是怎樣的?

一轉眼落格輸入法都已經做到第三代了,令人驚訝的是我似乎從來沒有認真的思考過題目中的這個問題。一直以來我先入為主的認為 MACOSiOS版 一樣就是為每個輸入框創建一個輸入法實例,而第三方輸入法的 Controller,全局只有一個,由系統負責 XPC 調用。

後來儘管我發現 Controller 不會在輸入框失去焦點後立即銷毀,但我依舊認為系統會為每個輸入框獲得焦點時生成全新的 Cont[……]

點擊跳轉以繼續閱讀

落格輸入法是如何進行全拼拼音拆分的

在5年前,在5年前基於動態規劃的整句輸入法的文章,在5年前,在5年前,在5年前,在5年前。在5年前,在5年前

在5年前,在5年前,才發現原來拼音分詞,甚至比中文字分詞還要難。

甚至比中文字分詞還要難,甚至比中文字分詞還要難,甚至比中文字分詞還要難,甚至比中文字分詞還要難[……]

點擊跳轉以繼續閱讀

macOS M1 Pro 安裝 h5py

安裝 h5py 失敗

安裝 TensorFlow 時,遇到一個依賴 h5py,這個包無論如何無法成功安裝,報錯無任何可用信息:

這就很難辦了,查看日誌發現原來是沒有針對 m1 的二進制包,自動進行編譯了。但編譯報錯說找不到頭文件:

於是使用 brew 安裝缺少的庫,搜索之下,還真有[……]

點擊跳轉以繼續閱讀

刪除不受支持的 System Extension macOS M1

直接使用系統信息工具查看當前系統中的插件

最近一直在安裝驅動時有彈窗,說某某系統插件不被支持了,無法加載。但一直苦於沒找到具體插件路徑而無法刪除掉,其實這些插件我本身也不再使用,甚至當初安裝插件的app早都已經刪除。今天實在是受不了了,警告彈窗一下出來十多個,決定處理一下。

蘋果已經在最近的幾個系統中更新了插件的開發結構,現在新的app,比如防火牆軟件,都會將系統插件內置在 .app 包中,這樣你在安裝和啟動 app 時,系統就會自[……]

點擊跳轉以繼續閱讀

製作 macOS 全新安裝啟動盤

之前 Mac 啟動組合鍵大全 恢復模式 recovery mode 中提到了聯網恢復的問題,實際上最終我無法成功使用聯網恢復,原因是我的硬盤是 NVMe 的,但我手頭已經沒有原裝的硬盤可以使用,於是我無法通過降級再升級的方式將主板固件更新,這就導致最新的恢復模式用不了,舊的恢復模式不識別硬盤。

為此,我需要做一個剛好不那麼新,但又足夠新到支持 NVMe 的安裝盤,畢竟,要安裝系統,總要先進到[……]

點擊跳轉以繼續閱讀

Mac 啟動組合鍵大全 恢復模式 recovery mode

最近升級了新款的 MacBook Pro,已經在用 m1 pro 芯片了。 不過,舊款的 2015 年老筆記本我也不打算把它賣掉了,畢竟我買的時候是二手,如今電池也換過兩塊了,硬盤也是自己加了轉換頭換了 NVMe 。把它裝個 Windows 專門打一打遊戲也是很不錯的。

但在進入恢復模式時遇到了問題,M1 芯片的設備已經大大簡化了這個操作需求,只要一直按著開機鍵,就會彈出全部啟動選項,不再需[……]

點擊跳轉以繼續閱讀

macOS application 的三種運行模式

平時,你不會遇到這個問題,直到你需要寫一個後台程序……

我們都知道 macOS 有一個全局的 Dock,這個東西上會顯示所有正在運行的程序,但如果你的程序是一個菜單欄小程序,或者是一個……輸入法,那你肯定不想讓這個 app 的圖標顯示的 Dock 上,因為這類 app 是要持續在後台運行的。

這時候我們就可以在 Info.plist 中寫 [crayon-62c22b045a3ef03[……]

點擊跳轉以繼續閱讀

升級 macOS Monterey 後設備休眠半夜頻繁喚醒問題

最近更新到了 macOS Monterey, 半夜總會被屏幕照醒,就覺得很詭異,以前也有過,但都是有通知的時候才會點亮屏幕,現在是沒有任何理由的自己點亮,硬件還是那個硬件,那就應該是軟件的鍋了。

在網上查了一圈,先是找到了蘋果官方的教程:HTTPS://support.apple.com/zh-cn/guide/mac-help/mchlp2995/mac

寫的很詳細,但顯然是沒有任何[……]

點擊跳轉以繼續閱讀