我是Apple TV电视应用程序的开发人员。 当我通过测试飞行安装我的应用程序的版本时,日期/时间不是我所期望的。我使用NSDate()来检索它。正如我预计这应该返回UTC +000,但它不。为了排除这个假设中的错误,我还尝试了NSDateFormatter并使用Apple TV的区域设置。我的Apple TV的时间/地区设置为阿姆斯特丹。我显示NSDate()的结果和格式化后的结果。我看到的结果是:NSDate()不是UTC +000格式化后,结果不是阿姆斯特丹时间/日期。 这只发生在通过测试飞行安装之后。 当我关闭我的应用程序时,将Apple TV的语言更改为另一种语言并将其更改回原来的样子,并重新打开我的应用程序NSDate()的结果,格式化结果正确!就像Apple TV做了一些更新(注意:我改变了语言而不是时间/区域)。 有人能告诉我这里发生了什么,我的代码中缺少什么?NSDate()在TestFlight安装后没有返回UTC +000
private func stringFromDateFormat() -> String {
let dateFormatForFormatter:String = "dd-MM-yyyy | HH:mm"
let todaysDate:NSDate = NSDate()
let locale:NSLocale = NSLocale.currentLocale()
let dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.calendar = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)
dateFormatter.locale = NSLocale(localeIdentifier: locale.localeIdentifier)
dateFormatter.dateFormat = dateFormatForFormatter
return dateFormatter.stringFromDate(todaysDate)
}
当我使用上述功能,它不会返回阿姆斯特丹时间/日期,但在我的Apple设备上设置此时区。再一次:它只发生在从试飞安装时。我上面描述的设备上的奇怪语言开关导致它是正确的。有时显示NSDate()是几天,我经历的更糟的是30天。