落格输入法

落格输入法的博客文章

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

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

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

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

但有[……]

点击跳转以继续阅读

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

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

后来尽管我发现 Control[……]

点击跳转以继续阅读

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

在5年前,我曾写过一篇基于动态规划的整句输入法的文章,文章末尾提到了拼音拆分的问题,由于当时落格输入法主要针对双拼,实际上并不需要进行拆分,只要两两拆开就好了。(这是我推崇双拼的另一个原因,毕竟少了一个技术难点)

后来落格输入法支持了全拼,并且开始给全拼进行优化,才发现原来拼音分词,甚至比中文[……]

点击跳转以继续阅读

从 cns11643 中文标准全字库生成仓颉和速成官方码表

一直以来,我对仓颉速成这对难兄难弟是很有意见的……网上流传的码表版本繁多,但名字都叫“仓颉”,和五笔对比起来,好歹五笔还分个 86 和 98,再新一点还有 新世纪 等等,但仓颉没有,不论什么版本的仓颉,都叫“仓颉”。

这就很尴尬,每个人用的仓颉码表都不一样,但不一样在哪里,他自己也不知道。

总[……]

点击跳转以继续阅读

落格输入法是如何处理按键消息的

要做一款移动设备上的软键盘,那么怎么处理用户的点击位置,就是你遇到的第一个难题,在这个问题上,我也走了很长的路。

我把落格输入法开发以来的触控逻辑大致分类为三个阶段,现在分别来讲讲设计思路,希望能够对你有所帮助。

第一代触控引擎

显然,对于一个初学者来说,没什么比系统控件更好用的了,功能全[……]

点击跳转以继续阅读

到底“双拼”是个啥?

本文首发于数码荔枝,原名 《到底「双拼」是个啥?听双拼输入法开发者给你说》

就在上个周末,我向一个新朋友推荐双拼输入法,他是那种对这方面从来没有关心过的人——就连“全拼”这个概念,也是在我向他介绍了双拼之后才知道的——“原来我一直以来用的叫做全拼(拼音)输入法”。

正是这件事情,促使[……]

点击跳转以继续阅读

上架一款订阅付费的 app,除了代码你还需要做什么?

终于,落格输入法 X 成功地上架了。从开发到上架,发生了很多事情。

现在,我就来说说,除了代码,上架一款订阅收费的 app,你都需要做些什么。

使用协议

一般来说,苹果为你提供了统一的软件使用协议,就在你对应app 的 “app infomation”页面下,右侧有个 Licens[……]

点击跳转以继续阅读

落格输入法:没人买我的 APP 了,但我不想 GG

文章原标题《如果这个输入法再无法让我维持生计,我就回家卖红薯》

人家说一个 App 想要卖的好,总得配一个动人的故事,去年一篇专访如果下个月没人买我的 App,我就得 GG扎了很多人的心——一不小心说了大实话,不少人难以接受这个现实。——人是动到了,就是角度似乎有点问题hhh

我也不想接受这[……]

点击跳转以继续阅读

落格输入法 macOS 是如何处理 ascii 0x01 的兼容问题的-macOS 输入法如何正确设置 buffer

早在去年,落格输入法的用户就有报告说落格输入法 macOS 在 有道云笔记 的 MarkDown 模式下无法正常键入中文,经过测试证明确实如此,体现为打中文字的时候,buffer的刷新会奇怪的删除掉光标前的一个字符——对,不多不少,就删一个。

捣鼓了很久未果,最后我没招了打印出了所有内容,发现[……]

点击跳转以继续阅读

落格输入法是如何在 iOS 上反账号共享盗版的

对于 iOS 开发者来说,面对 app 盗版,最大的问题不是技术破解,反而是越来越多的 Apple ID 共享盗版,有的人可能会说这样的盗版就相当于是“试用”了,喜欢的人自然会去入正……但实际上,由于一分钱共享账号盗版的存在,导致无数独立开发者最终走向了投简历。

总之,去年,Surge 的作者[……]

点击跳转以继续阅读

macOS 键盘按键 event 的三种截获方式

一般情况下,你不需要了解这些内容。

在极少数情况下,你的app可能需要去获取用户按下的按键信息,比如盗号木马 开发一款输入法。只有这样你才能给用户提供候选。

怎么在 macOS 下创建一个输入法,我在Swift 使用 InputMethodKit 写输入法这篇文章中有详细的说明,这里略过[……]

点击跳转以继续阅读

? 双拼,拼不停。→落格输入法 macOS 版,正式上架!?

优秀的输入法,来到了另一个优秀的平台!

虽然它还欠缺很多功能,但我还是迫不及待地分享这美好的东西给你们,落格输入法终于走上了 macOS,多年以来,在 macOS 上输入双拼是一个噩梦,现在,这个噩梦可以终结了。

除了残缺弃坑不知道什么时候就不能用了的手心输入法 Mac 版、基本上非专业人员[……]

点击跳转以继续阅读

多显示器下判断窗口位置 macOS

在开发落格输入法的时候,我遇到了这么一件事情,就是作为候选栏的窗口会在屏幕边缘的时候超出屏幕去!所以,在显示窗口的时候我根据坐标做了额外的检查:

总之,就是说如果坐标算上自己的宽度超过了屏幕的宽度,就把它挪回来。

但是,这样[……]

点击跳转以继续阅读

落格输入法是如何实现按键音的

众所周知,落格输入法不需要获取“完全访问权限”,所以根据苹果的权限,自然就无法播放按键音了。

不过,最近的落格输入法更新中加入了这一功能——在后续的版本中甚至可以加入按键震动了。然而我还是无需获取“完全访问权限”。

那么,我是怎么做到的呢?

iOS 里的声音和震动

其实是同一回事[……]

点击跳转以继续阅读

落格输入法 是怎么实现 app 设置而不需要 完全访问 权限的?

众所周知,在 iOS 平台上自从 8.0 版本开始,可以为 iOS 开发第三方的输入法键盘了,而这些键盘可以被放在 AppStore 销售了,不过,同时也有着十分严格的权限规则。

对此,苹果为第三方的键盘设计了两种权限,一种是最小的,只有最基本的键盘功能的权限、另一种则相对较多,键盘获取了“完[……]

点击跳转以继续阅读

写 落格输入法 的这半年里获得的 一点人生经验

说出来你们可能不信,落格输入法起初是我的一个练手项目,它叫小飞

但在动手写它之前,其实我就已经抱怨过很多次了,说自己要写一款好用的输入法,因为我用双拼,而现存的输入法,都不怎么重视双拼这个群体,同时,就全拼来讲,各种广告弹窗小红点也把它们本身整句输入啊实用功能啊这些优点给埋没了。

一直到[……]

点击跳转以继续阅读

在字符串中 快速查找

很多时候,我们需要在字符串中执行查找,以判断过滤指定的内容出来。比如过在落格输入法当中,就需要用辅码过滤出需要的候选词。

一般来说,查找和对比肯定是数字来的最快,不过在词库上总不能把所有的词汇都转换为数字(虽然理论上可行……)在字符串的搜索上,我们有很多种办法来实现,这里我就说一下我自己的思路[……]

点击跳转以继续阅读