【问题标题】:How to launch iOS Simulator in specific language from command line?如何从命令行以特定语言启动 iOS 模拟器?
【发布时间】:2015-10-04 08:38:01
【问题描述】:

我需要使用命令行启动使用特定语言的 iOS 模拟器。所以我发现我可以使用

instruments -w <device>

而且效果很好,我可以设置特定的设备。但是如何使用特定语言运行模拟器?我试过添加

-AppleLanguages -AppleLocale

但有一些警告:

Instruments Usage Error : Specified target process is invalid: -AppleLanguage

谢谢!

【问题讨论】:

    标签: ios xcode instruments xcodebuild


    【解决方案1】:

    使用特定语言启动iOS Simulator 的唯一方法是更改​​其.GlobalPreferences.plist 文件的内容。使用xcrun 工具将不起作用,因为它将参数传递给已启动的应用程序,而不是更改模拟器本身的语言。对.GlobalPreferences.plist 的操作非常困难,因为它是一个二进制plist 文件,因此您不能将其修改为“正常”xml。更改其内容最简单的方法是编写简单的Xcode Command Line Tool application,Foundation SDK 具有修改二进制plists 所需的所有工具。

    【讨论】:

    • 除了减轻某人的痛苦之外,plist 位于~/Library/Developer/CoreSimulator/Devices/${YOURID}/data/Library/Preferences,因为我相信 Xcode 8...(从以前的 Xcode 版本更改了路径)如果我错了,请纠正我,但是我想你现在可以编辑 plist 文件,留下你想要的语言键,然后删除其他的,这样就可以了。另外,我相信您可以使用经典的 plist 编辑器对其进行一次编辑,然后就可以了...
    • 这是我在启动前在模拟器中更改语言环境的脚本:gist.github.com/rumax/2470ec2fcc3ef84420542f049589407e 参见相关文章:itnext.io/…
    • @mmccabe 关于为什么 Simulator 12.4 版总是更改默认键盘设置的任何提示,即使在 GlobalPreferences.plist 中设置后也是如此?
    • 我最终做了两件事,最终在 iOS 模拟器中只有一个键盘布局。首先,如本答案中所述,我为该特定模拟器更新了 GlobalPreferences.plist。然后我启动了模拟器,在我实际的 UI 测试之前,我自动化了 iOS 的设置应用程序,以删除一旦我启动它就会由 iOS 模拟器自动添加的键盘。这样我最终只得到了我想要的键盘布局。获取模拟器ID:itnext.io/…
    【解决方案2】:

    要运行您的应用,必须安装和定位(如果没有,将打开默认语言)

    使用此命令以某种语言运行您的应用

    xcrun simctl launch <deviceid> <appid> -AppleLanguages "(pt-BR)"
    

    示例:

    xcodebuild -sdk iphonesimulator8.4 -arch i386 install DSTROOT=SomeFolder
    xcrun instruments -w "iPhone 6 (8.4 Simulator)"
    xcrun simctl install booted SomeFolder/Applications/YourApp.app
    xcrun simctl launch booted com.yourdomain.yourapp -AppleLanguages "(pt-BR)"
    

    【讨论】:

    • 如果您需要了解如何本地化您的应用,这个tutorial 是一个很好的开始。
    【解决方案3】:

    看看:

    https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/TestingYourInternationalApp/TestingYourInternationalApp.html 搜索“测试特定语言和地区”

    也许它也可以是创建不同目标的解决方案。每个目标都配置了另一种语言

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2011-07-04
      • 2016-04-02
      相关资源
      最近更新 更多