我可以更改 Apple Watch 模拟器语言吗?

Can I change the Apple Watch simulator language?

是否可以更改 Apple Watch 模拟器区域设置?我想测试我的手表应用程序的本地化。我可以在 iPhone 模拟器上更改语言,但手表模拟器始终使用英语。我找不到任何语言设置:

很遗憾,目前您似乎无法更改手表模拟器中的语言。在设备上,它位于 iPhone Watch 应用程序的常规 -> 语言和地区下。但是,在 iPhone 模拟器上,甚至没有“常规”部分的选项。这就是 Watch 应用下显示的所有内容:

您无法更改 Apple Watch 模拟器的区域设置,但可以更改 Watch App 的区域设置。我用它来测试本地化。要更改您的应用区域设置,请编辑 Watch App Scheme:运行->Options->Application Language - 选择语言并重新运行 您的 Apple Watch 应用。

Run|Options|Application Language

不幸的是,它仅适用于 Xcode 7.2,不适用于 Xcode 7.1。没有其他已知的可能性。

编辑

有一个全新的语言和区域自动测试库。它被称为AutoMate。可以找到文档 here.

我 post 我对更易读格式的评论。

希望可以"viable"解决

  • 创建不同的本地化文件:英语、法语、西班牙语、中文……
  • 在此处本地化所有元素
  • 然后,打开英文文件
  • 在当前英文文本后复制您要测试的语言的内容(这将取代它)。
  • 要返回英文,请删除此添加的外文。

我测试过,有效。

我只是收到一个错误日志,没有明显的后果

Watch Extension[3520:334638] [默认]-[SPRemoteInterface _interfaceControllerClientIDForControllerID:]:2140: ComF: 找不到 interfaceControllerID:DC00003 的 clientIdentifier

但这足以在模拟器上测试本地化。

删除多余的文本即可清除错误。

肯定不可能通过 Watch Simulator UI 或 iOS Simulator Watch 应用程序,但您可以从位于 iOS Simulator 文件夹中复制值:

<simulator_dev_folder>/data/Library/Preferences/.GlobalPreferences.plist

到您的 Watch Simulator 中的同一文件。

要查找的 Plist 键:

  • AppleLocale
  • AppleLanguages
  • AppleKeyboards

我改进了这个答案。

  1. 将目录更改为您的模拟器设备。例如。 /用户/$USER_NAME/Library/Developer/CoreSimulator/Devices
  2. 检测您的手表模拟器。我在构建后使用了 ls -trl 命令。例如。 046D5EDA-1808-4BE2-A16E-04DF0324B032
  3. plutil -convert xml1 ./046D5EDA-1808-4BE2-A16E-04DF0324B032/data/Library/Preferences/.GlobalPreferences.plist -o change_global.plist
  4. 编辑 change_global.plist AppLanguages 的您想要供 vim 使用的部分。我想用 ja,所以就像 <key>AppleLanguages</key> <array> <string>ja</string> </array>.
  5. 将change_global.plist放入./046D5EDA-1808-4BE2-A16E-04DF0324B032/data/Library/Preferences/.GlobalPreferences.plist。像 cp change_global.plist ./046D5EDA-1808-4BE2-A16E-04DF0324B032/data/Library/Preferences/.GlobalPreferences.plist .
  6. 重启模拟器。