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-673e20c[……]

點擊跳轉以繼續閱讀

macOS 鍵盤按鍵 event 的三種截獲方式

一般情況下,你不需要了解這些內容。

在極少數情況下,你的app可能需要去獲取用戶按下的按鍵信息,比如盜號木馬 開發一款輸入法。只有這樣你才能給用戶提供候選。

怎麼在 macOS 下創建一個輸入法,我在Swift 使用 InputMethodKit 寫輸入法這篇文章中有詳細的說明,這里略過[……]

點擊跳轉以繼續閱讀

多顯示器下判斷窗口位置 macOS

在開發落格輸入法的時候,我遇到了這麼一件事情,就是作為候選欄的窗口會在屏幕邊緣的時候超出屏幕去!所以,在顯示窗口的時候我根據坐標做了額外的檢查:

總之,就是說如果坐標算上自己的寬度超過了屏幕的寬度,就把它挪回來。

但是,這樣[……]

點擊跳轉以繼續閱讀

如何讓 NSWindow 顯示在不同的 Space 或者 Screen 中

在寫落格輸入法 Mac 版的過程當中,我遇到了這麼一個問題,系統的候選條 API 年久失修,很多功能 API 存在但根本無效,比如:

這個方法是用來設置候選條風格的,裡邊除了默認的[crayon-673e20c571de15881[……]

點擊跳轉以繼續閱讀

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

在 Swift 中,大家經常會用 URL 來初始化一個路徑,比如網頁的鏈接。比如這樣:

當用戶點擊按鈕(比如說這個幫助按鈕),那麼一下子就幫用戶打開默認的瀏覽器,並打開指定的頁面(這裡是個論壇)。

那麼,如果你的鏈接是這樣的[……]

點擊跳轉以繼續閱讀

落格輸入法是如何實現按鍵音的

眾所周知,落格輸入法不需要獲取“完全訪問權限“,所以根據蘋果的權限,自然就無法播放按鍵音了。

不過,最近的落格輸入法更新中加入了這一功能——在後續的版本中甚至可以加入按鍵震動了。然而我還是無需獲取“完全訪問權限”。

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

iOS 裡的聲音和震動

其實是同一回事[……]

點擊跳轉以繼續閱讀