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

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

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

但是,这样[……]

点击跳转以继续阅读

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

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

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

点击跳转以继续阅读

攒一台用来做开发的 黑苹果 hackintosh

给 iPhone 等平台开发应用,总是需要用到一台苹果电脑的,或者 iMac 或者 rmbp,就算是 mac mini 也行。不过,当开发的项目比较大了,需要的东西多了,比如我吧,虽然做一个小小的输入法,但跑词库跑算法什么的,一趟下来就得一天,搞不好还崩溃重来。每当 Xcode 不争气动不动就白板的[……]

点击跳转以继续阅读

OS X 开启 RamDisk 来为 Safari 和 Xcode 加速

随着 Xcode 的版本升级,速度越来越慢,尤其一言不合就“白板”的问题相信大家都会有遇到。

这是非常影响开发效率的事情。如果有可能,那么我们将 Xcode 的缓存文件放到内存,速度应该快很多。(虽然现在 rmbp 的 ssd 已经十分的快速了,但比起内存,还是差的很远——对于机械硬盘[……]

点击跳转以继续阅读

方便快捷 自用 搭建 TimeMachine 方案

终于换了一个相对稳定的工作环境,现在,我的桌面是这样的:

好了,总之,用移动硬盘定期备份不是长久之计,所以,身为穷逼,我们要给自己寻找一个合适、方便的备份方案了。

俗话说的好:

备份不做,十恶不赦。

那么,我们就来说说我的设计方案。

设计

首先,作为一个穷逼,设计备份方案[……]

点击跳转以继续阅读

Xcode 自动版本号

做开发者肯定有过这样的烦恼:版本号提交错了!

编译和测试的版本多了,难免提交的时候才发现版本号搞错了。要不就是后台版本号正确,前台的版本号忘记更改。其实,可以让前台自动获取后台的版本号数据,比如这样:

But

后台的版本号[……]

点击跳转以继续阅读

让 iTrem 2 + zsh 启动不再等待!

iTerm 作为一个 mac 里自带终端的替代品真的是太好用了,功能多、界面也好看。配合zsh+皮肤,终端从此也美丽(题图)。

不过,zsh 启动总是很慢,虽然说每次启动前输入的内容还是不会丢失,但总等着也不是个事(说句实在话,我就这么忍受了好多年……)

总之,其实这个问题是可以被解决的[……]

点击跳转以继续阅读

让 SSH 走代理连接服务器

很多网络运维、或者站长需要通过 ssh 来管理服务器、vps,如果不凑巧,你和服务器之间相隔了一堵 GFW,那么由于 GFW 会分析 ssh 数据包,结果就是导致稍微慢一点的网络就会让命令卡一分钟。

GFW 现在完全有能力分析 ssh 流量特征,以判断你是在真的使用 ssh 配置服务器,还是使用它[……]

点击跳转以继续阅读

Swift 使用 InputMethodKit 写输入法

如何在 iOS 上写一款输入法?这个问题已经被很多人解答过了。你可以轻易通过 Google 找到一篇详细的教程。但是,在 macOS 上写一款输入法就没那么简单了。

好吧,严格来讲,是指用 Swift 在 macOS 上写一款输入法很难。主要的原因是 从来没有人做过这件事情 。

目前能够[……]

点击跳转以继续阅读