App开发流程之Xcode配置和本地化

时间:2023-01-05 23:04:17

补充一点遗漏的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

App开发流程之Xcode配置和本地化

命名必须为“Info.plist”

App开发流程之Xcode配置和本地化

点击右侧“Localize...”按钮,在弹出框中,先选择语言“English”,确定,即生成英语对应的本地化文件,可在Finder中看到en.lproj文件夹存在InfoPlist.strings

App开发流程之Xcode配置和本地化

选中工程文件的Project栏的base -> Info

App开发流程之Xcode配置和本地化

点击Localizations栏的“+”按钮,选中简体中文(hans)

App开发流程之Xcode配置和本地化

忽略两个storyboard文件,只勾选InfoPlist.strings,点击Finish完成Info.plist文件本地化配置工作。

App开发流程之Xcode配置和本地化

点击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参数无实际作用,只用于描述

以上,就是本地化操作的记录。