更新 Ruby 後 gem install 找不到 binary

我一直是用 rbenv 的,直到這次更新了 cocoapods 後,執行報錯了,當然,目測應該是我的 ruby 環境太舊導致的,於是我嘗試 環境 安裝 3.0.2 ,但很遺憾,報錯了,去 rbenv 的官方倉庫看了看,上一個版本還是 2019年……好吧,放棄它,刪掉所有的版本後,我發現其實我一直用 brew 裝了最新版的 ruby,就直接用起來了。[……]

點擊跳轉以繼續閱讀

避免網站被惡意域名劫持

落格博客的服務器拒絕了該網站的內嵌

今天無意間發現了一批網站,如 http://b6x.net/ 現在你點開這個網站會顯示“www.logcg.com 拒絕連接。”,當我第一次點開的時候我驚呆了……他竟然抄了我整個網站? !

這是一系列三位數域名網站,都是類似的操作。

等等,我發現了一點不對勁,首先這個網站外邊有我博客本身並沒有的白框……也就是說,這可能是個反代(反向代理)。

如果你還[……]

點擊跳轉以繼續閱讀

zsh 啟用 bash * 星號通配符功能

最近發現服務器每次 apt upgrade 都非常慢,究其原因,還是一大堆不用的內核每次都要重新生成,清理的時候遇到一個問題,*號匹配不生效,每次都必須手動輸入完整的內核名稱才能將其卸載。

一通踩坑後發現,原來是因為我用了 zsh,而 zsh的 默認是不支持 * 號通配的!要開啟這個功能也很簡單,找到你的 zsh 配置文件 我們 /.zshrc [……]

點擊跳轉以繼續閱讀

為 UIKit 開啟 Xcode Live Preview

使用 SwiftUI 的一大收益就是可以像 Flutter 那樣對 App 進行熱更新,改動了UI的代碼,會直接反映在模擬器或者是真機中,大大提升了編寫用戶界面的效率,不用改1px,運行,各種點擊,然後查看效果的循環往復。但現在使用 SwiftUI 還為時過早,畢竟還是有大量 iOS 12 設備在運行,想要做大眾軟件,那還是要支持的。

那麼,有沒有辦法能讓 UIKit 編寫的軟件也能用上實時[……]

點擊跳轉以繼續閱讀

已發表
歸類為 macOS, Swift

macOS 運行和訓練 Moses

Moses 官網其實是有 macOS 二進制包的,你不需要從源代碼編譯它們。但總之,由於 Moses 開發者已經不再用 Mac,所以他沒辦法更新,這導致了目前最新版(4.0)的代碼中有一個bug,使得二進製文件不能直接使用,作者說“反正從源碼編譯也不是很難……”但總之,從 BigSur 上編譯 Moses 已經幾乎是不可能的了,各種奇怪的報錯,令人頭疼。

其實,我們是可以直接修正二進製文件中[……]

點擊跳轉以繼續閱讀

使用 Packages 創建支持 Apple M1 芯片的 pkg 安裝包

使用高級設置修改 Packages 默認參數

蘋果發布 M1 芯片設備已經有一段時間了,雖然我當時第一時間申請了 DTK 設備,但由於一些原因,直到蘋果回收設備,我也沒能親手摸到。總之,落格輸入法 macOS 還是成功靠盲打支持了 Apple 架構,即 arm64,根據用戶反饋,效果還行。

直到有用戶說雖然 app 是支持 m1 芯片的,但安裝包不行——當運行 pkg 安裝包時,系統彈出了 Rosetta 2……

雖然其實並不影響[……]

點擊跳轉以繼續閱讀

已發表
歸類為 macOS 已標記 ,

macOS 使用 atos 命令解析任意崩潰記錄和採樣數據

最近落格輸入法遇到了幾個比較難以復現的問題——關鍵是它不會導致崩潰。這就讓崩潰統計功能根本無效,具體表現為在某些情況下輸入法會突然卡住幾秒,叫人十分惱火。後來我想到,macOS自帶活動管理器中,有個“採樣”功能,可以看到對應進程當前的執行(調用)狀態,那我是不是可以用它來分析錯誤原因呢?

在和用戶溝通後,我得到了一個類似這樣的採樣報告:
[crayon-6169e2702fd6311001[……]

點擊跳轉以繼續閱讀

快速更新 Python 包

Python 是個好東西,好多時候我們喜歡用它來寫一些小東西……比如我服務器上的很多服務都是用 Python 寫的( 使用 Supervisor 將你的 Python 程序變成服務 ),日積月累之下,竟然用到了很多依賴包。

可是,這些 Python 的依賴包並不會隨著你的 易於 升級 進行更新,許久之後的今天,我發現某個我正在用的包[……]

點擊跳轉以繼續閱讀

Cocoa Binding 實用教程

首先說這不是一個新技術,它很老,老到幾乎沒人提起它。

這是蘋果 MVC 模式下的產物,最早在沒有 iPhone 的時候就已經誕生了,它是用來配合 Xcode 圖形化設置界面用的——比如 NIB,當然,現在已經變成 XIB了,哦,還有 Storyboard。

現在如果說起要 bind 一個 Storyboard 中的對像到代碼中,你可能查到的都是這樣的:

在左側欄點擊鼠標右鍵打開小窗口[……]

點擊跳轉以繼續閱讀