iphone - NSURLConnection 返回 NSError 只有英语作为语言?

标签 iphone objective-c ios ipad ios4

如果我在 iPad 上打开飞行模式并尝试创建 NSURLConnection,我将收到错误消息“Internet 连接似乎处于离线状态。”如果我在 iPad 上更改为任何其他语言然后是英语,我仍然会看到相同的错误文本。我不应该在当前选择的语言中得到错误吗?

使用这段代码:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"Error: %@",[error localizedDescription]);
}

最佳答案

我找到了我的问题的答案,并且由于它与这个问题相关,所以我将其分享,以便在其他人需要时可以提供帮助。

包含错误代码和本地化描述的文件位于 /System/Library/Frameworks/Foundation.Framework/Resources/en.lproj/FoundationErrors.strings 复制此文件并粘贴到其他地方(以避免弄乱原始文件)。现在在终端中运行命令将二进制文件转换为文本文件: plutil -convert xml1 FoundationErrors.strings 现在将文件拖到您的 Xcode 项目中,然后右键单击并选择 Open as... Property list。现在你有了 key 和描述。您可以翻译(如果您需要的语言在本地化中不可用)或根据需要自定义它们,并使用所需的名称保存它,在我的例子中是 Persian.strings

现在将此代码添加到您要使用它的方法中:

//persian error messages file full path
NSString * persianErrorsListFile = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Persian.strings"];
//Load file as dictionary
NSDictionary * persianErrorsList = [[NSDictionary alloc] initWithContentsOfFile:persianErrorsListFile];

NSString *errorKey = [NSString stringWithFormat:@"Err%ld", (long)errorCode];
NSString *errorMessage = persianErrorsList[errorKey];

关于iphone - NSURLConnection 返回 NSError 只有英语作为语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050125/

相关文章:

ios - UITableView 单元格在滚动时混合

IOS, swift : How come my subclass of UIScrollView doesn't scroll?

objective-c - UITableView 由于阴影和边框而滞后

iphone - iOS:下载脚本并执行?

iphone - 通过 App 连接 WiFi 网络

objective-c - 您如何在没有用户共享/授予权限的情况下使用 Core Location?

Iphone 将 URL 加载到变量 - 静态有效,来自 XML 的动态失败

ios - 为什么不调用 touchesBegan 监听器(Swift 4)?

iphone - TestFlight 音频流不工作

iphone - 设备上的NSdata长度崩溃