用户设备数据属性编码失败,但可在另一台设备上使用

时间:2018-08-20 18:38:28

标签: ios swift date nsdateformatter

我们的少数用户遇到了一个非常不寻常的错误(已知的千位用户中只有不到10位)。我们存储在coreData中的某些对象使用日期类型。出于某种原因,每当JSON尝试将dateString映射到我们的格式化程序时,在特定人员的设备上,某些对象将在初始化期间失败。

static let iso8601DateTime: DateFormatter = {
    let formatter = DateFormatter()
    formatter.timeZone = TimeZone(secondsFromGMT: 0)[enter image description here][1]
    formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    return formatter
}()

当我创建断点时,所有JSON时间字符串都采用以下格式:

令我感到困惑的是,为什么某些对象在那时成功映射而其他对象却失败了,尽管它们都以这种格式返回。通过更改,我在Apple支持网站上阅读了有关ISO8601语言和地区的问题。我从美国->英国->(回到美国)更改了他的地区,发现所有问题都已解决,他可以正常使用该应用程序。

我收到的一些建议是说要为dateformatter指定一个语言环境,但是我还不能进行测试。

formatter.locale = Locale(identifier: "en_US_POSIX")

有什么想法为什么基本上可以通过软刷新此设置来解决(设置为另一个然后再次返回)?

0 个答案:

没有答案