AppCode 中開發 Mac OS X 應用程式或共用庫的經驗小結
AppCode 是 JetBrains 公司出品的用於開發 Mac OS X 及 iOS 應用程式的整合式開發環境,只能運行於 Mac OS X 作業系統環境下,作為 XCode 的進階替代品。由於其基於 IntelliJ IDEA 相同的代碼基礎,自然繼承了 IDEA 的優良傳統,代碼智能提示以及自動完成、重構等等不一而足。在實際開發過程中,如果涉及到一些 XCode 特有的可視化設計功能,AppCode 實際上是調用 XCode 來實現;而其他情況下,基本上就是 AppCode 獨立實現的功能運行了。這裡面有幾點經驗總結一下,以備查: 1、建議將 AppCode 的快速鍵方案設定為 IDEA 方案,使用與 IDEA 基本相同的快速鍵習慣,這樣比較方便一點。當然你也可以將 AppCode 的快速鍵方案設定為 XCode 方案,使用 XCode 習慣。 2、採用 IDEA 快速鍵方案後,項目屬性設定可通過快速鍵 Command+; 快速切換出來,否則需要點擊菜單“File”->“Project Settings...”來調出。在項目屬性設定中,有幾個比較關鍵的地方需要注意:(1)一般情況下,我們只需去具體設定一個項目的同名target的各種編譯屬性,不用去設定項目或者“Shared Settings”的全域預設屬性。特別是在target的屬性頁面部分,有一個“Build Phases”,用於對target編譯所需的原始碼檔案以及Frameworks進行增刪設定的,特別是原始碼檔案,有時候後添加進項目中的原始碼檔案,如果沒有被增加到Build Phases的原始碼列表中,那麼這個原始碼檔案是不會被編譯的!通過在AppCode中從project的專案檔樹狀列表將原始碼檔案拖放到Build Phases原始碼列表中即可實現增加,點擊列表左下角的“-”減號即可從原始碼列表中刪除選定的原始碼檔案。(2)如何增加編譯器選項?編譯器選項有時候很重要,需要單獨添加指定的。但是預設情況下 AppCode 並未提供設定編譯器選項的方式。其實有一個變通的辦法——因為 AppCode 使用與 XCode 完全相同的專案檔組織方式,因此我們可以進入到項目的 .xcodeproj 目錄內(這裡假定項目名稱為 abc,那麼就會產生一個名為 abc.xcodeproj 的目錄),用文字編輯器開啟名為 project.pbxproj 的檔案,找到包含有類似如下內容的地方: 1 D0B815633AC0689B70BCBBB8 /* Release */ = { 2 isa = XCBuildConfiguration; 3 buildSettings = { 4 ASSET_PACK_MANIFEST_URL_PREFIX = ""; 5 DYLIB_COMPATIBILITY_VERSION = 1; 6 DYLIB_CURRENT_VERSION = 1; 7 EXECUTABLE_PREFIX = lib; 8 GCC_VERSION = ""; 9 OTHER_CFLAGS = “”;10 OTHER_CPLUSPLUSFLAGS = "";11 OTHER_LDFLAGS = "";12 PRODUCT_NAME = "$(TARGET_NAME)";13 };14 name = Release;15}; 這裡要注意,第一行的十六進位字串不一定是固定的,可能會隨著不同的項目而變化。紅色的兩行是需要自己手工添加上去的,這其實是按照 cmake 的標準添加的編譯器編譯標識參數。添加完後儲存該檔案,在 AppCode 中重新開啟這個項目就會看到 target 的 Build Settings 頁面裡面,在 User-Defined Settings 列表中多出了我們添加的那兩個紅色的編譯器編譯標識參數,你可以添加額外的編譯標識參數了。 3、設定 target 的編譯模式為 Release 或 Debug。預設情況下,target 的編譯採用 Debug 模式,我們需要修改其為 Release 模式,可以通過快速鍵 Alt+Shift+F10 然後在彈出的視窗菜單中選擇“0”(Edit Configurations...)或者點擊菜單“Run”->“Edit Configurations...”來為 target 建立編譯回合組態,並選擇 Release 模式即可。 4、target 編譯產生的最終目的檔案(比如可執行檔或者庫)的位置雖然可以修改,但是這裡推薦使用系統預設的路徑。我們可以通過 AppCode 中的項目樹狀檔案清單以快速鍵 Command+Shift+C 來複製選中的最終目的檔案,然後在終端中粘貼,用 cp 命令等方式去拷貝或進行其他動作等等。或者通過點擊菜單“Run”->“Show Build Folder in Finder”來開啟 target 編譯產生的最終目的檔案所在的檔案夾進行各種複製粘貼等操作,還可以點擊菜單“Run”->“Clean Build Folder”可以自動清空最終目的檔案所在檔案夾。當然,你可以為這兩個功能表項目設定快速鍵,那麼操作起來就更方便了。