iOS 平台第三方输入法的生命周期到底是怎样的?

我们刚刚讨论了 macOS 平台第三方输入法的生命周期到底是怎样的?,现在趁热再来聊聊 iOS 平台的第三方键盘生命周期

在苹果官网,也就只有个这:

这看起来似乎很容易理解,键盘的生命周期是系统管理的,每次用户呼出键盘,就它就启动,用户收起键盘,过一会它就被消灭了。

但有了前文对 macOS 输入法框架的生命周期的经验,我们再来看 iOS,真的是这样吗?在苹果开发者文档[……]

点击跳转以继续阅读

macOS 平台第三方输入法的生命周期到底是怎样的?

一转眼落格输入法都已经做到第三代了,令人惊讶的是我似乎从来没有认真的思考过题目中的这个问题。一直以来我先入为主的认为 macOSiOS 一样就是为每个输入框创建一个输入法实例,而第三方输入法的 Controller,全局只有一个,由系统负责 XPC 调用。

后来尽管我发现 Controller 不会在输入框失去焦点后立即销毁,但我依旧认为系统会为每个输入框获得焦点时生成全新的 Cont[……]

点击跳转以继续阅读

落格输入法是如何进行全拼拼音拆分的

在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-6790cb9370c1333[……]

点击跳转以继续阅读

升级 macOS Monterey 后设备休眠半夜频繁唤醒问题

最近更新到了 macOS Monterey, 半夜总会被屏幕照醒,就觉得很诡异,以前也有过,但都是有通知的时候才会点亮屏幕,现在是没有任何理由的自己点亮,硬件还是那个硬件,那就应该是软件的锅了。

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

写的很详细,但显然是没有任何[……]

点击跳转以继续阅读