September 21, 2016

xcode 8 卡頓

從xcode 8 GM釋出以來,一直有一個卡頓的問題實在十分惱人。開啟xcode打沒兩個字就開始無限轉圈... @@。沒想到正式釋出之後問題仍然沒有解決。

還好搜尋之後找到解法。

不確定是否為xvim外掛的關係,總之照做之後就順利正常了。

參考文章:https://github.com/XVimProject/XVim/issues/966

解法就是,從"系統偏好設定">"安全性與隱私">"聯絡資訊" 將xcode取消勾選即可!

不知為何xcode需要取用聯絡資訊,不過果然關掉就正常了。

以上,給遇到相同問題的朋友參考~

September 9, 2016

為DEBUG build做不同的info.plist設定

開發專案總會遇到一些情況,比如說某些功能是debug用的,正式版並不要送出去。如果事事都用手動調整,那我們在做Release build時就會有一張落落長的check list。所幸大部分的功能只要設定Propressor Macro,在用#if區隔程式碼就可以自動區別。

但是就是這一個但是,iOS的某些功能是在info.plist中做設定的,不找一下,還真不知道該怎麼在build time讓它自動區分開來。比如說 UIFileSharingEnabled

查找了一下,可以參考這篇:Info.plist preprocessing

雖然Apple關著這扇門,但他也開了那扇窗。只要在Project Target的Build Setting中做以下設定,就可以囉!

1. 把 Preprocess Info.plist設為YES。(預設為NO)
2. 設定一個.h檔案,比如我用的是infoPlist.h,指定為Preprocessor Definitions檔案。這邊可以直接分為兩個檔案,或用#define做區隔,這就看各人喜好囉。
3. 最後在info.plist中再使用定義好的MACRO即可。