前言
最近在写《iOS代码调试》系列的博客,估计会有十篇以上的内容,等到都写完了会在Github以一个仓库的形式开源出来,欢迎关注我的Github:
这一部分介绍XCode中Argument/Options模块,通过这两个模块,我们可以在启动App的时候传递一些额外的参数进去,覆盖系统的默认值,从而实现特定场景的调试。
Options
Options这里的内容相对简单,但是却容易被忽略。
- Core Location用来模拟App的位置
- Application Data 可以用于测试CoreData的Scheme迁移
- Routing App Coverage File 一个GeoJSON文件,对于导航类应用指明App支持的区域
- Background fetch 表示启动由backgroud fetch触发
- Show non-localized strings 显示没有本地话的字符串
- Application Language & Application Region 系统的语言和区域
Argument Passed On Launch
启动参数用来覆盖NSUserDefaults中的默认值。
注意:启动参数只有在通过XCode启动App的时候才会起作用,直接点击图标启动是没用的。
语言
AppleLanguages可以用来设置启动的语言。
更改语言最直接的方式就是:设置 -> 通用 -> 语言 -> 修改语言,然后重启模拟器,接着重启App,这个过程是很繁琐的。
利用启动参数,这个过程变得非常的直接,比如,设置App在简体中文下启动
-AppleLanguages (zh-Hans)
一些常见的语言列表如下:
English (U.S.) en
English (UK) en-GB
English (Australian) en-AU
English (Indian) en-IN
French fr
Spanish es
Portuguese pt
German de
Italian it
Chinese (Simplified) zh-Hans
Chinese (Traditional) zh-Hant
Japanese ja
Korean ko
Russian ru
当然,也可以通过Options中的图形化界面来设置语言:
本地化
当你的App需要同时支持多语言的时候,本地化变得很重要。同样的文字,可能在某一中语言中会显示的很长,这时候你可以先通过NSDoubleLocalizedStrings
来看看你的UI在双倍显示当前字符串的时候的样子:
-NSDoubleLocalizedStrings YES
对比下开启前后的效果