Xcode 自動版本號

做開發者肯定有過這樣的煩惱:版本號提交錯了!

編譯和測試的版本多了,難免提交的時候才發現版本號搞錯了。要不就是後台版本號正確,前台的版本號忘記更改。其實,可以讓前台自動獲取後台的版本號數據,比如這樣:

後台的版本號還是要自己手動寫啊!大版本號也就罷了,不同的程序有自己不同的風格,有的甚至不是數字這就略過了,那麼構[……]

點擊跳轉以繼續閱讀

一個自動排序的 Swift 棧

一年前,我在 git 上發布了一個用 Swift 實現的棧,一共有兩個版本。因為 Swift 自身並沒有實現這個東西——儘管官方的教程中泛型的部分就是用這個棧舉的例子。

也許是人家覺得這個太簡單了吧

總之,這次我又來玩這個東西了,因為 HMM 的 Viterbi 算法需要做修剪,不然路徑太多無謂地增加計算量——畢竟,我們都關心第一名,誰會去注意第二名呢?

所以,這個棧也是基於原生 Arr[……]

點擊跳轉以繼續閱讀

我給落格輸入法的用戶群添加了個自動回復機器人

如題圖,我給落格輸入法的用戶群弄了個機器人,隨著落格輸入法的用戶越來越多,一些慕名而來的新手也多了。很多常見問題重複提問,搞得人焦頭爛額,如果能有個機器人,就像 Siri 那樣,讓它自動捕捉那些關鍵字然後回复這些用戶,豈不美哉?這樣用戶能夠得到精心編輯的答案,而我也能空餘出更多的時間去寫wan代you碼xi。

當然,這樣的機器人我是見過的,所以我想一定有現成的東西,顯然,搜索之下我先找到了這[……]

點擊跳轉以繼續閱讀

Swift 中判斷字符串是否有 Emoji 表情

更新:網絡上流傳的 emoji 代碼點不太完整,我按照維基百科的資料重新整理了一下,文中的 Swift 版本代碼已更新。

很多時候我們需要判斷一個字符、或者說是一句話裡是不是包含了emoji,使用 Swift 語言開發 app 也不例外,比如可以使用正則表達式——但很遺憾,似乎不同的語言對於正則表達式的支持區別, \u [……]

點擊跳轉以繼續閱讀

落格輸入法 是怎麼實現 app 設置而不需要 完全訪問 權限的?

眾所周知,在 iOS 平台上自從 8.0 版本開始,可以為 iOS 開發第三方的輸入法鍵盤了,而這些鍵盤可以被放在 AppStore 銷售了,不過,同時也有著十分嚴格的權限規則。

對此,蘋果為第三方的鍵盤設計了兩種權限,一種是最小的,只有最基本的鍵盤功能的權限、另一種則相對較多,鍵盤獲取了“完全訪問”權限之後基本上就和 安卓 上鍵盤差不多,可以訪問聯繫人、可以聯網等等。

不過[……]

點擊跳轉以繼續閱讀

無法加載 “” 與標識捆綁從筆尖引用圖像 “com.xxx.xxx”

今天遇到一個奇怪的問題,程序運行一點問題都沒有但終端報錯如下

其實就是題目上的錯誤,這個問題看上去挺簡單——不就是引用的圖片丟失了麼……

其實不然,由於名字是 "" 所以你根本找不到究竟是哪個圖片丟失了——實際上一個都沒有丟。

畢竟程序裡邊的資源一個都沒有[……]

點擊跳轉以繼續閱讀

寫 落格輸入法 的這半年裡獲得的 一點人生經驗

說出來你們可能不信,落格輸入法起初是我的一個練手項目,它叫小飛

但在動手寫它之前,其實我就已經抱怨過很多次了,說自己要寫一款好用的輸入法,因為我用雙拼,而現存的輸入法,都不怎麼重視雙拼這個群體,同時,就全拼來講,各種廣告彈窗小紅點也把它們本身整句輸入啊實用功能啊這些優點給埋沒了。

一直到 2015 年 11 月 7 日,我第一次有了動手寫一個輸入法的想法:

現在iOS上的輸入法大都臃腫[……]

點擊跳轉以繼續閱讀

CloudKit 優化指南

最近給落格輸入法加入了一個叫做“對數雲”的東西,其實不難,比使用 iCloud Document 要簡單,不過網上的資料不太多,你通過那些上手教程來現充應該不是問題,但想要提升用戶體驗,就不是那麼容易了。這裡我們就一起來看看,怎麼樣才能讓 CloudKit 運行得更暢快。

CKDatabaseOperation

一般來說,你獲取一條數據可能是這樣的:
[crayon-6797ba5ba600[……]

點擊跳轉以繼續閱讀

讓 iTrem 2 + zsh 啟動不再等待!

iTerm 作為一個 mac 裡自帶終端的替代品真的是太好用了,功能多、界面也好看。配合zsh+皮膚,終端從此也美麗(題圖)。

不過,zsh 啟動總是很慢,雖然說每次啟動前輸入的內容還是不會丟失,但總等著也不是個事(說句實在話,我就這麼忍受了好多年……)

總之,其實這個問題是可以被解決的:

進入 iTerm2 的偏好設置裡,在 Profiles 裡編輯你的配置,在配置右側的 Ge[……]

點擊跳轉以繼續閱讀