快速檢查某文件的 UTI

在進行 iOS macOS 開發的時候,我們經常會需要和文件進行交互,比如說關聯並打開某一類型的文件,那麼這個時候,你用到的並不是這個文件的後綴名,而是它的 UTI。

UTI 是一個統一文件類型名稱,它規定了一個文件應該是什麼類型,而不是靠後綴來確定,比如 txt,文本,json 都是純文本文件,它們都是 public.text

那麼,通常情況下,對於知名的文件類型,你可以到蘋果官方的頁面[……]

點擊跳轉以繼續閱讀

用 chsh -s 配錯了 shell 該如何挽救?

配錯了默認環境並不可怕,大不了再配回來就好了嘛。

顯然,說這樣話的人是沒有故事的。

總之,如果你發現你的 vps 有一天突然無法登錄了,沒有報錯內容是沒有權限,但證書確定是正確的——那你就可能是在上次退出前配錯了 shell。這時候即使你用 console 去登錄,也會發現登錄後一閃而過立即回到了登錄界面——完蛋了,你心想,剛配好的環境又得重來一遍。

使用 CHSH 切換 默[……]

點擊跳轉以繼續閱讀

Fail2Ban 高級配置 保護 Nginx 服務

購買了VPS之後你應該做足的安全措施中我們提到過用 的fail2ban 來保護 ssh ,這樣即使不改變SSH端口(默認為22),也可以做到避免被暴力破解密碼,當然,我們已經開啟了證書登錄並關閉了 ssh 的密碼登錄選項,但用 的fail2ban 幹掉那些不停嘗試的 bot 也是一件令人心情愉悅的事情。

其實,除了 使用 fail2ban 防止 Bind9 被用於 DNS 放大攻擊外,我們也可[……]

點擊跳轉以繼續閱讀

UserNotifications 使用用戶創建的聲音作為提示音

使用自定義聲音作為通知提示音

在 iOS 10 以後,iOS 使用了全新的 UserNotifications 作為通知 API,這允許開發者使用 圖片、視頻、聲音 等富媒體作為通知內容,同時進一步地,你還可以使用 通知內容擴展 來自定義通知的大小和內容佈局。
如果要自定義通知的提示音,那麼你可以給 [克雷[……]

點擊跳轉以繼續閱讀

項目“XXX”所使用的MacOS和無法打開.

在恢復數據的時候,你可能需要用 U 盤拷貝數據,但是 macOS 默認掛載 ntfs 是只讀的,當然,我們有辦法使用命令行重新掛載它來變成可讀寫。不過這容易造成 ntfs 權限錯誤,結果就是插到另一台電腦上的時候,這個文件可能變成灰色

如果你這時候強行使用解壓縮軟件打開它,那麼你會得到類似的錯誤:

項目“XXX”所使用的MacOS和canno[……]

點擊跳轉以繼續閱讀

談談 Shadowrocket 和 Quantumult

自從我更換了美區 Apple ID 後,原先購買的 Surge 就不能再用了—— 當然,現在 Surge 也更新了新的版本,對我來說,花大價錢購買一款高級網絡調試工具然後單純用來翻牆,想想就覺得挺蠢的。

好在,macOS 版本的 Surge 2 授權還在,畢竟這個不跟隨 Apple ID,我還可以繼續使用。將來 Surge 2 停止更新維護了,我會考慮繼續堅持幾年再買新的。

總之,在 iOS[……]

點擊跳轉以繼續閱讀

落格輸入法 macOS 是如何處理 ascii 0x01 的兼容問題的-macOS 輸入法如何正確設置 buffer

早在去年,落格輸入法的用戶就有報告說落格輸入法 macOS 在 有道云筆記 的 MarkDown 模式下無法正常鍵入中文,經過測試證明確實如此,體現為打中文字的時候,buffer的刷新會奇怪的刪除掉光標前的一個字符——對,不多不少,就刪一個。

搗鼓了很久未果,最後我沒招了打印出了所有內容,發現了謎團:

當我把輸入法獲取到的光標左邊的文字打印出來後,我發現文字的後邊被追加了一個奇怪的字符[……]

點擊跳轉以繼續閱讀

落格輸入法是如何在 iOS 上反賬號共享盜版的

對於 iOS 開發者來說,面對 app 盜版,最大的問題不是技術破解,反而是越來越多的 Apple ID 共享盜版,有的人可能會說這樣的盜版就相當於是“試用”了,喜歡的人自然會去入正……但實際上,由於一分錢共享賬號盜版的存在,導致無數獨立開發者最終走向了投簡歷。

總之,去年,Surge 的作者發布了這麼一篇文章 浪湧 2.0 是如何實現在 iOS 上反盜版的 他的理論是從 app 購買[……]

點擊跳轉以繼續閱讀

NSView 在 10.12 不顯示 shadow 問題詳解

在 iOS 上,如果我們要一個 View 顯示陰影,那麼基本上是這麼做的:

不過,到了 macOS 上,這樣就不靈了——沒有任何效果。

答案在於 macOS 上如果你想要給一個 View 使用 layer ,你必須手動標記,比如說這樣:
[crayon-6906e[……]

點擊跳轉以繼續閱讀

少有人走的路:獨立開發者該如何尋找資源

這一篇其實兩個月前就應該寫了,不過有一些事情拖延於是就到了現在。前幾天和朋友討論到獨立開發的“小眾”的概念,我覺得有必要再細緻的定義一下。究竟獨立開發者要做的這個小眾是什麼,所謂的細分市場,究竟又該怎麼細分。

心靈小眾

一說到小眾和細分,可能很多人的第一印像是那些無人問津的東西比如學校裡一小撮學生的小需求,或者是律師在工作上的一些需求……這裡我們回顧一下細分市場:獨立開發者該如何確定開發項目中[……]

點擊跳轉以繼續閱讀

letsencrypt 工具改名 certbot

今天落格博客的證書到期了,之前我有寫過如何用 letsencrypt 來給博客加 https 支持,並且在文章的末尾教大家寫了一個定時更新服務,這樣你就不用每三個月自己手動去更新了。

不過,如果你的證書要過期了,那麼其實 letsencrypt 會有機器人給你發提醒郵件的,內容大致是這樣:

你好,

您的證書 (或證書) 對於t[……]

點擊跳轉以繼續閱讀

ANNE pro GH60 定制鍵盤 macOS 鍵位設置

之前我寫過一篇撲克 2 機械鍵盤 Mac 鍵位修改的文章,現在由於我買了一個升降桌,然後poker是有線的,於是很不方便,就尋思買一款藍牙鍵盤,沒想到當年夢想的藍牙機械鍵盤已經有了現成的,正好,尋思著就定制一個。

我對poker的wasd方向鍵情有獨鍾,尤其是改 capslock 為 fn 後,簡直是編程利器,爽的一批,所以這次找鍵盤也必然是 60鍵,也要支持 capslock + W¯¯[……]

點擊跳轉以繼續閱讀

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

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

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

怎麼在 macOS 下創建一個輸入法,我在Swift 使用 InputMethodKit 寫輸入法這篇文章中有詳細的說明,這里略過不提,我們重點放在如何處理用戶按鍵,尤其是修飾按鍵的處理上。

落格輸入法一直以來有一個不大不小[……]

點擊跳轉以繼續閱讀

winform 使用 視頻 作為窗口背景

最近做 Windows 上的項目,客戶要求要做的“炫”一點,所以,動態的窗口背景永遠是必不可少的內容(比如手機qq的登錄界面對吧?

我本以為這是一個很容易實現的功能於是就滿口答應下來……是的,在 winform 裡,並不是那麼容易就能達到你想要的效果的。

理所當然,我們想到如果要播放視頻,那麼就用系統自帶的 media player,只要添加一個控件就可以搞定——結果就是播放的視頻要么[……]

點擊跳轉以繼續閱讀

使用 csf 防火牆來有效阻止小規模 DDOS

更新:升級 Ubuntu的 20.04 LTS 後,csf 無法正常工作了,提示找不到 iptables:

這是由於 Ubuntu的 20.04 LTS 更改了 iptables的 相關命令位置導致的,csf 的腳本並沒有及時更新。

要解決這個問題,我們可以到[CR[……]

點擊跳轉以繼續閱讀

避免輸入法 候選條 被其他窗口擋住

在開發落格輸入法 macOS 版本的時候,我遇到了這麼一個難題,那就是窗口優先級的問題。在之前 如何讓 NSWindow 顯示在不同的 Space 或者 Screen 中 這篇文章中我提到了自己實現了落格輸入法的候選欄,其實是用一個 NSWindow 實現的。那麼既然是一個普通(經過魔改)的 [crayon-6906e1fcc293f86929[……]

點擊跳轉以繼續閱讀

面對coronasdk的物理引擎

關於移動手機的開發,目前網絡上主要流行兩種開發軟件,一個是眾所周知的unity(畢竟當年4399小遊戲上面的網絡版Minecraft由它開發,3d引擎沒有任何軟件能夠超越它),另一個是比較小眾化的cocos。cocos佔據著2d遊戲的主要位置,而unity卻佔據著3d遊戲的主要位置。而我們講的coronasdk與cocos一樣為2d遊戲引擎(coronasdk不被人所知主要是因為2010年以前收費[……]

點擊跳轉以繼續閱讀

Android 安卓開發板 讀取串口

最近接了個工程,需求是給特製的工程安卓板子做串口讀寫以實現一些特定外接設備的互動——是的你沒有看錯,安卓板子也是可以有串口的!

很多做移動開發的朋友可能沒接觸過——其實在這之前我也沒接觸過。踩了七八個小時的坑,終於爬出來了,這裡做一個總結,可能各個工程板子具體情況不同,大家一定要隨機應變。

首先你要知道的

跳線,工程板子為了節約 USB 接口,默認的 USB 接口都是對外的不能接電腦調試[……]

點擊跳轉以繼續閱讀

? 雙拼,拼不停。→落格輸入法的MacOS版,正式上架!?

優秀的輸入法,來到了另一個優秀的平台!

雖然它還欠缺很多功能,但我還是迫不及待地分享這美好的東西給你們,落格輸入法終於走上了 MACOS,多年以來,在 macOS 上輸入雙拼是一個噩夢,現在,這個噩夢可以終結了。

除了殘缺棄坑不知道什麼時候就不能用了的手心輸入法 Mac 版、基本上非專業人員不能配的 Rime 輸入法外,你又多了一個選擇,落格輸入法 macOS 版

前前後後半年的時[……]

點擊跳轉以繼續閱讀