App開發流程之Xcode配置和本地化

来源:http://www.cnblogs.com/ALongWay/archive/2016/09/01/5829495.html
-Advertisement-
Play Games

補充一點遺漏的Xcode配置。 1.偏好設置。Xcode的菜單欄Xcode -> Preference Fonts & Colors可以自定義編碼區和控制台的背景、字體。 Text Editing:Line numbers顯示行數,Code folding ribbon使代碼可以摺疊,page gu ...


補充一點遺漏的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參數無實際作用,只用於描述

 

 以上,就是本地化操作的記錄。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • android Button的enabled和clickabled的區別 ...
  • 上篇博客《iOS逆向工程之KeyChain與Snoop-it》中已經提到了,App間的數據共用可以使用KeyChian來實現。本篇博客就實戰一下呢。開門見山,本篇博客會封裝一個登錄用的SDK, 該登錄SDK中包括登錄、註冊、忘記密碼等功能,當然該SDK中包括這些功能的UI、數據驗證等業務邏輯、網路請 ...
  • 這裡利用 ProgressBar 即時顯示下載進度。 途中碰到的問題: 1、主線程中不能打開 URL,和只能在主線程中使用 Toast 等 2、子線程不能修改 UI 3、允許網路協議 4、暫停下載和繼續下載 ........ fragment_main 佈局文件 1 <RelativeLayout ...
  • Drawable animation可以載入Drawable資源實現幀動畫。AnimationDrawable是實現Drawable animations的基本類。 這裡用AnimationDrawable 簡單模擬動態圖的實現。 fragment_main 佈局文件 只需要放一個 ImageVie ...
  • 草原上的兩匹馬! 打從當年微信開始佈局公眾號之初時,估計就已經想到了與支付寶正面衝突的場面,所以微信先來個瞞天過海,在春晚搞了個微信紅包,那叫一個火呀,此時的云云隱隱感覺到些許不安。 早期的微信開發者可能都知道,微信公眾號剛開始的時候接入支付要交巨額的保證金,根據行業不同,金額也不同,但也有大幾萬呢 ...
  • ...
  • 以前一直在用ListView,,,最近才看RecyclerView發現好強大。RecyclerView前提是Android版本在5.0以上,本人以前用的是eclipse只支持到4.4。索性就安裝一個Android Studio去開發RecyclerView吧 真是萬事開頭難,然後中間難,然後結尾難。 ...
  • Swift - 實現點擊cell動態修改高度 效果 源碼 https://github.com/YouXianMing/Swift-Animations ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...