iOS 7 和 8 之间不同的 NSError 本地化描述
Posted
技术标签:
【中文标题】iOS 7 和 8 之间不同的 NSError 本地化描述【英文标题】:Different NSError localizedDescription between iOS 7 and 8 【发布时间】:2014-11-04 17:16:20 【问题描述】:我正在测试我的应用在未连接到互联网时如何显示错误,我注意到 ios 7 和 8 针对 NSURLErrorNotConnectedToInternet
(-1009) 返回不同的错误消息
iOS 7 错误
Error Domain=NSURLErrorDomain
Code=-1009 "The Internet connection appears to be offline."
UserInfo=0x17d5edc0 NSLocalizedDescription=The Internet connection appears to be offline.,
NSUnderlyingError=0x17ecdd20 "The Internet connection appears to be offline."
iOS 8 错误
Error Domain=NSURLErrorDomain
Code=-1009 "The operation couldn’t be completed. (NSURLErrorDomain error -1009.)"
UserInfo=0x1740f9c80 _kCFStreamErrorDomainKey=12,
_kCFStreamErrorCodeKey=8,
NSUnderlyingError=0x17405dd90 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1009.)"
有什么方法可以让 iOS 在 iOS 7 和 8 上生成相同的错误消息?
【问题讨论】:
【参考方案1】:使用代码,是一样的。
如果他们选择在 iOS8 中更新错误信息,你将无能为力。
【讨论】:
当。我希望我不必创建自己的从错误代码到字符串的映射。【参考方案2】:也许意图是这是一个错误,您不应该只显示带有技术原因的错误消息,而是应该考虑它对用户的意义。互联网连接可能因 WiFi 关闭或 3G 数据关闭而关闭,因此您可以根据数据的重要性要求将其打开。如果你正在做一些后台更新,你可能什么都不做。或者,如果有意义,您可能会建议用户稍后进行操作。
【讨论】:
也许,但它似乎需要做很多额外的工作,尤其是为了支持更晦涩的错误。至少可以选择显示更有意义的内置消息。【参考方案3】:您可以使用来自http://nshipster.com/nserror/的错误代码映射
【讨论】:
以上是关于iOS 7 和 8 之间不同的 NSError 本地化描述的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 和 iOS 8 中动态 UITableViewCell 的高度是不可能的
UIPopoverController 的大小调整行为在 iOS 7.0 和 iOS 7.1 之间有所不同