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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...