相关疑难解决方法(0)

在iOS中获取当前的设备语言?

我想显示设备UI正在使用的当前语言.我会用什么代码?

我希望这是一个NSString完全拼写的格式.(不是@"en_US")

编辑:对于那些开车的人来说,这里有很多有用的评论,因为答案随着新的iOS版本的发展而演变.

cocoa-touch objective-c ios nslocale

420
推荐指数
14
解决办法
23万
查看次数

iOS 8.1模拟器本地化中断(NSLocalizedString)

TL; DR:
似乎本地化不适用于xCode 6.1和8.1模拟器.
解决方法:
转到"编辑方案">>"运行"(侧栏)>>"选项"选项卡>>"应用程序语言"
在模拟器上选择要运行应用程序的语言.


很长的故事:

我已将xCode更新为6.1.更新删除了iOS 7.x模拟器,只留下8.x模拟器.
我已经完成了以下步骤:

  • 我已经安装了7.x模拟器
  • 清理了这个项目
  • 从模拟器中删除了应用程序
  • 删除了项目的派生文件夹

该项目支持英语和日语.
在7.1模拟器(5s)上,本地化按预期工作.
在8.1模拟器(5s)它不起作用.

我猜测Apple在模拟器上破坏了一些东西,因为它适用于真实设备.

关于这个的任何意见,其他人都遇到过类似的问题吗?


编辑
它似乎是模拟器中的一个错误,参考:
Apple Dev Forums

xcode nslocalizedstring ios ios-simulator xcode6.1

104
推荐指数
1
解决办法
2万
查看次数

NSLocale currentLocale始终返回"en_US"而不是用户的当前语言

我正在进行国际化iPhone应用程序的过程 - 我需要根据用户当前的语言环境对某些视图进行编程更改.我疯了,因为无论iPhone模拟器或实际硬件上的语言偏好如何,locale总是评估为"en_US":

NSString *locale = [[NSLocale currentLocale] localeIdentifier];
NSLog(@"current locale: %@", locale);
Run Code Online (Sandbox Code Playgroud)

疯狂的是,应用程序的其余部分按预期运行.从Localization.strings文件中选择正确的字符串并在界面中使用,并使用所选语言环境的正确.xib文件.

我也试过以下,但没有用,结果相同:

NSString *locale = [[NSLocale autoupdatingCurrentLocale] localeIdentifier];
NSLog(@"current locale: %@", locale);
Run Code Online (Sandbox Code Playgroud)

我有什么简单的东西吗?可能是偏好还是导入?

我以前做的:

正如Darren的回答所暗示的那样,我正在寻找的偏好不在NSLocale,而是在这里:

NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSArray* languages = [userDefaults objectForKey:@"AppleLanguages"];
NSString* preferredLanguage = [languages objectAtIndex:0];
NSLog(@"preferredLanguage: %@", preferredLang);
Run Code Online (Sandbox Code Playgroud)

彼得的答案似乎是一个更好的解决方案:

NSArray* preferredLanguages = [NSLocale preferredLanguages];
NSLog(@"preferredLanguages: %@", preferredLanguages);
Run Code Online (Sandbox Code Playgroud)

iphone cocoa objective-c internationalization

79
推荐指数
4
解决办法
6万
查看次数

尽管德国硬件键盘,iOS 8.1模拟器始终使用美国键盘布局

出于某种原因,我无法再使用我的原生德语键盘输入文本进入iOS模拟器.

下载Xcode 6.1(包含iOS 8.1)后,我陷入了美国布局.

我尝试过更改所有硬件/键盘设置,删除~/Library/Preferences/com.apple.iphonesimulator.plist和重置iOS模拟器等内容.

什么都没有帮助!

我应该重新安装完整的包裹吗?

keyboard xcode ios ios-simulator

53
推荐指数
5
解决办法
2万
查看次数