【发布时间】:2015-09-15 19:45:20
【问题描述】:
与this previous question 的作者不同,我遇到了相反的问题。我试图在我的 iPad 应用程序中使用用 C++ 编写的组件,该组件使用标准 C 库中的 setlocale()。通过模拟器(i386 或 x86_64)运行时,我能够成功设置语言环境并获得预期的返回值:
(lldb) p (const char *)setlocale(2, "ja_JP")
(const char *) $1 = 0x000000010e776bd0 "ja_JP"
但是,在设备上运行时(在 iOS8 或 iOS9 上,在 armv7 和 arm64 设备上),此调用似乎总是失败并返回 null。
(lldb) p (const char *)setlocale(2, "ja_JP")
(const char *) $0 = 0x00000000
实际上在 iOS 设备上设置区域和语言似乎也没有什么区别。
这是像 iOS9 这样阻止使用 sysctl() 的例子,还是我在这里遗漏了更大的东西?
【问题讨论】:
标签: ios localization