App開發流程之Xcode配置和本地化,appxcode
補充一點遺漏的Xcode配置。
1.喜好設定。Xcode的功能表列Xcode -> Preference
Fonts & Colors可以自訂編碼區和控制台的背景、字型。
Text Editing:Line numbers顯示行數,Code folding ribbon使代碼可以摺疊,page guide at column提示每行代碼設定的最大寬度
2.scheme配置。功能表列Product -> Scheme -> Edit Scheme
Archive:Archive Name可以自訂,最後將在Organizer中體現
3.Plugin安裝。如果想增加外掛程式,建議使用Alcatraz。https://github.com/alcatraz/Alcatraz
根據github上的提示安裝以後,重新啟動Xcode,出現提示框,選擇Load Bundle。選擇功能表列Window -> Package Manager,進行外掛程式安裝
推薦一些外掛程式:
VVDocumenter-Xcode:在方法或者屬性上一行輸入“///”會自動產生注釋模板
KSImageNamed:在imageNamed方法名出現之後會自動提示項目中所包含的圖片名稱和縮圖
SCXcodeSwitchExpander:輸入switch(x),修改x之後會自動把x所有的可選值全部列出來,自動補全
FKConsole:在Xcode控制台將Unicode編碼decode為中文的外掛程式,開關在功能表列Plugins按鈕下
KZLinkedConsole:通過log反向找到原始碼位置
RegX:選中需要對齊的代碼,選擇功能表列Edit->RegX->Macros/ObjC Property/Variables/Assignments四種對齊。快速鍵分別是Command+F1/Command+F2/Command+F3/Command+F4
再推薦一個裝逼利器:
ActivatePowerMode:敲代碼時螢幕抖動火花迸濺效果,可以在功能表列Plugins子功能表下控制效果
常用的外掛程式就推薦這些了,再多,Xcode可能會出現效能問題甚至崩潰。
如果安裝外掛程式太多導致Xcode效能降低,需要在Package Manager中卸載不必要的外掛程式。
本地化
主要涉及Info.plist檔案和字串檔案的本地化。
本地化Info.plist檔案
1.在Xcode檔案目錄中,右鍵Supporting Files檔案夾 -> New File -> Resource -> Strings File
命名必須為“Info.plist”
點擊右側“Localize...”按鈕,在彈出框中,先選擇語言“English”,確定,即產生英語對應的本地化檔案,可在Finder中看到en.lproj檔案夾存在InfoPlist.strings
選中工程檔案的Project欄的base -> Info
點擊Localizations欄的“+”按鈕,選中簡體中文(hans)
忽略兩個storyboard檔案,只勾選InfoPlist.strings,點擊Finish完成Info.plist檔案本地化配置工作。
點擊InfoPlist.strings(English),添加代碼:CFBundleDisplayName = "Base";
點擊InfoPlist.strings(Simplified),添加代碼:CFBundleDisplayName = "基礎";
以上代碼就完成了對應用顯示名稱的本地化操作。
如果之前在模擬器上運行過本項目(可以先注釋代碼運行一次),應用程式名稱應該一直為小寫“base”,重新運行項目,即可在模擬器上看到不同系統語言對應的不同應用程式名稱。
字串的本地化
1.如上述第一步一樣,在Supporting Files目錄下建立Strings File檔案,不過這次命名必須為“Localizable”,其他動作步驟一樣,只不過這次產生英語本地化檔案後,就可以看到有簡體中文本地化檔案待選。
2.配置完成後,在Localizable.strings(English)檔案中添加類似的代碼:"hello world" = "hello world!";
Localizable.strings(Simplified)中添加類似代碼:"hello world" = "你好,世界!";
3.在AppDelegate.m檔案的didFinishLaunchingWithOptions方法中添加如下代碼:NSLog(@"%@", NSLocalizedString(@"hello world", @"hello world"));
4.在模擬器上運行,切換系統語言,可以看到Xcode控制台的輸出的不同內容
說明:
1.NSLocalizedString宏定義可以自動識別名為Localizable的Strings File檔案,所以使用該宏定義,必須注意命名
2.使用非Localizable名稱的Strings File檔案,讀取時候,需要用NSLocalizedStringFromTable(key, tbl, comment)宏定義,可以指定自訂名稱的Strings File檔案(tbl參數)
使用此方法,可以通過代碼控制顯示特定語言的本地化內容,而不受當前系統語言的限制
3.comment參數無實際作用,只用於描述
以上,就是本地化操作的記錄。