Swift

苹果新出的用于代替OC的高级编程语言!

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

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

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

点击跳转以继续阅读

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

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

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

点击跳转以继续阅读

NSView 在 10.12 不显示 shadow 问题详解

在 iOS 上,如果我们要一个 View 显示阴影,那么基本上是这么做的:

不过,到了 macOS 上,这样就不灵了——没有任何效果。

答案在于 macOS 上如果你想要给一个 View 使用 [crayon-6766e25[……]

点击跳转以继续阅读

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

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

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

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

点击跳转以继续阅读

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

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

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

但是,这样[……]

点击跳转以继续阅读

如何让 NSWindow 显示在不同的 Space 或者 Screen 中

在写落格输入法 Mac 版的过程当中,我遇到了这么一个问题,系统的候选条 API 年久失修,很多功能 API 存在但根本无效,比如:

这个方法是用来设置候选条风格的,里边除了默认的[crayon-6766e250165de0384[……]

点击跳转以继续阅读

URL 遇到 中文字符 无法初始化

在 Swift 中,大家经常会用 URL 来初始化一个路径,比如网页的链接。比如这样:

当用户点击按钮(比如说这个帮助按钮),那么一下子就帮用户打开默认的浏览器,并打开指定的页面(这里是个论坛)。

那么,如果你的链接是这样的[……]

点击跳转以继续阅读

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

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

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

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

iOS 里的声音和震动

其实是同一回事[……]

点击跳转以继续阅读