iOS 獨立開發:管理你的兌換碼

作為 iOS 開發者的你,肯定是知道 Promo codes 這個東西的,也就是我們常說的兌換碼。(當然,作為 iOS 用戶興許你也對此不陌生)

這次,我們就來看看,這個看似無窮無盡的兌換碼,到底有哪些限制。

有效期

蘋果後台生成的兌換碼有效期一直是一個謎,雖然官方的說法的 4 週,也就是 28 天,但實際上如果這期間你的 app 更新了,那麼兌換碼很可能就會失效[1]。

&國家統計局[……]

點擊跳轉以繼續閱讀

Swift 裡的數組去重方案

在使用 Swift 進行開發落格輸入法時,我遇到了一個很有意思的問題——去重

眾所周知,輸入法的候選在計算出來後總會有可能是重複的選項(比如碼表和詞庫中都有某個詞,也許他們編碼不同,但字是一樣的之類),這時候就需要去重,但又要保持候選的先後順序不變。

別人的解決方案

如果你去網上找,那麼你可能找到的是這樣的:

來源:[……]

點擊跳轉以繼續閱讀

辦公軟件好,人人少不了。辦公室 365,走你!

辦公軟件這東西,文字處理、表格編輯、還有著名的“ppt”幻燈片,畢業後我幾乎就沒再碰過微軟係了,偶爾需要文字編輯用的也是蘋果的 iWork 系列(當然寫論文什麼的就別想了),總之,這次我要軟一次,推一下 Office 365.

其實就是微軟的辦公套件,各位可能還在用盜版——這次是絕佳的機會把它洗白——價格足夠便宜。

 

利益相關

我的 落格輸入法 macOS 2 的中國區[……]

點擊跳轉以繼續閱讀

落格輸入法 macOS 2 是如何為 VoiceOver 進行優化的

在兩年前,我曾寫過一篇名為《ios 為視障用戶支持 VoiceOver》的文章,裡邊主要介紹了 iOS 端該如何為 VoiceOver 進行必要的支持,後來我又開發了 macOS 端的落格輸入法,但很遺憾由於 macOS 自身系統 bug,第三方輸入法根本無法獲得 VoiceOver 焦點(主要是 10.13 及以下版本),所以我也就沒有過多關注——甚至直到這款輸入法整個生命週期結束也沒能實現 V[……]

點擊跳轉以繼續閱讀

和: 1: “......”: 無效的命令代碼

Linux 的朋友可能會對這個命令比較熟悉,它可以在腳本里快速和批量地對文本文檔進行操作,比如改動某一行或者替換具體內容……

MACOS 自然也是有這個命令的,但有一點不太一樣,如果你執行 -一世 ,那麼多半你會得到一個奇怪的報錯 : 1: “......”: 無效 command

 [……]

點擊跳轉以繼續閱讀

DoT DoH 除了 DNSCrypt,你還可以了解一下更好的 DNS 加密方案

2018年11月02日 更新,切換到 DoT 一天后,所有 stubby 內置服務器運行異常緩慢,直到日常使用都難……只好放棄。

2018年11月01日 更新,使用了 5 天 DoH 後,由於目前提供此服務的服務器只有 1.1.1.1,這個地址在我這裡被運營商屏蔽了。

 

 

三年前[……]

點擊跳轉以繼續閱讀

swift4 url​​Session get和post網絡請求

廢話不多說,直接上代碼。

得到:

POST:

 [……]

點擊跳轉以繼續閱讀

小火箭 Shadowrocket 的四個高級配置

使用小火箭很久了,很多朋友都說,小火箭 Shadowrocket 不穩定,老自己掉後台,這次我就來說說我是怎麼使用它的。

以前 iOS 不支持這類 VPN 應用,每次在 iOS 上翻牆,都是一件讓人煞費苦心的事情。後來 Surge 出現了……我第一時間就買了,當然,再後來中區下架 Surge,我也徹底換了美區的 Apple ID,就沒有再買另外一份 Surge,轉而買了相對便宜的 Shado[……]

點擊跳轉以繼續閱讀

Swift 中如何使用字典類型作為泛型約束

今天學員群裡有人提了這麼一個問題,為什麼把特性的字典類型作為泛型類型約束的時候,就必然報錯?

顯然,說的很明確了,“你不能從一個非協議、非類的類型繼承”。顯然,字典是個泛型結構體……

那麼解決思路也很明確了,創建一個類來裝飾個字典或許是個不錯的選擇但太麻煩,那麼就從協議上下手。

有條件的協議遵循

我們可以給字典[……]

點擊跳轉以繼續閱讀