快速检查某文件的 UTI

在进行 iOS macOS 开发的时候,我们经常会需要和文件进行交互,比如说关联并打开某一类型的文件,那么这个时候,你用到的并不是这个文件的后缀名,而是它的 UTI。

UTI 是一个统一文件类型名称,它规定了一个文件应该是什么类型,而不是靠后缀来确定,比如 txt,text,json 都是纯文本文[……]

点击跳转以继续阅读

UserNotifications 使用用户创建的声音作为提示音

使用自定义声音作为通知提示音

在 iOS 10 以后,iOS 使用了全新的 UserNotifications  作为通知 API,这允许开发者使用 图片、视频、声音 等富媒体作为通知内容,同时进一步地,你还可以使用 Notification Content Ex[……]

点击跳转以继续阅读

Item “xxx” is used by macOS and cannot be opened.

在恢复数据的时候,你可能需要用 U 盘拷贝数据,但是 macOS 默认挂载 ntfs 是只读的,当然,我们有办法使用命令行重新挂载它来变成可读写。不过这容易造成 ntfs 权限错误,结果就是插到另一台电脑上的时候,这个文件可能变成灰色

如果你这时候强行使用解压缩软件打开它,那么你会得[……]

点击跳转以继续阅读

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

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

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

点击跳转以继续阅读

NSView 在 10.12 不显示 shadow 问题详解

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

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

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

点击跳转以继续阅读

ANNE pro GH60 定制键盘 macOS 键位设置

之前我写过一篇Poker 2 机械键盘 Mac 键位修改的文章,现在由于我买了一个升降桌,然后poker是有线的,于是很不方便,就寻思买一款蓝牙键盘,没想到当年梦想的蓝牙机械键盘已经有了现成的,正好,寻思着就定制一个。

我对poker的wasd方向键情有独钟,尤其是改 capslock 为 f[……]

点击跳转以继续阅读

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

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

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

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

点击跳转以继续阅读

避免输入法 候选条 被其他窗口挡住

在开发落格输入法 macOS 版本的时候,我遇到了这么一个难题,那就是窗口优先级的问题。在之前 如何让 NSWindow 显示在不同的 Space 或者 Screen 中 这篇文章中我提到了自己实现了落格输入法的候选栏,其实是用一个 NSWindow

点击跳转以继续阅读

黑苹果 核显 兼容 21:9 显示器

前段时间我说过我攒了一台高配的黑苹果,当时用的是一台普通的 1080p 显示器,我的 21:9 给同事用去了。

现在,我还是受不了这个16:9,于是我和他换了下,我又用回了我的 21:9,结果没想到……尼玛竟然不支持!

听说是 hd530 核显驱动不太行导致识别不了……

总之,咱还[……]

点击跳转以继续阅读