Ios 通过编程更改键盘可以在模拟器中工作,但不能在iPhone上工作

Ios 通过编程更改键盘可以在模拟器中工作,但不能在iPhone上工作,ios,cocoa-touch,internationalization,keyboard,ios-simulator,Ios,Cocoa Touch,Internationalization,Keyboard,Ios Simulator,我正在尝试更改我的应用程序的语言,主要是在一个查询屏幕上显示一个阿拉伯语键盘。 在调用UIApplicationMain之前的主程序中,我有以下行: [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar",@"en", nil] forKey:@"AppleLanguages"]; 它成功地在iPhone模拟器上更改了语言,但在iPhone上没有。在模拟器上,键盘改为阿拉伯语,但在iPho

我正在尝试更改我的应用程序的语言,主要是在一个查询屏幕上显示一个阿拉伯语键盘。 在调用UIApplicationMain之前的主程序中,我有以下行:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar",@"en", nil] forKey:@"AppleLanguages"];
它成功地在iPhone模拟器上更改了语言,但在iPhone上没有。在模拟器上,键盘改为阿拉伯语,但在iPhone上,不管发生什么,它仍然是英语。我之前也有一个remove语句。完整代码为:

 int main(int argc, char *argv[]) {
    [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar",@"en", nil] forKey:@"AppleLanguages"];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    return retVal;
}

什么版本的iOS在模拟器和设备上运行?我相信模拟器是xCode(4.4)附带的。该设备具有5.1(最新版本)。您确定正在使用的手机已安装阿拉伯语吗?可能有一些方法可以检查,谷歌。谢谢,我会检查,但iOS有一个阿拉伯语键盘,我可以通过常规->国际->添加键盘选项来获得。我只是想让键盘以编程的方式出现,就像它在模拟器中出现一样。