Сегодня я встретил точно такую же проблему. Приложение случайно падает на производстве из-за принудительного развертывания на open func date(from string: String) -> Date?
Мой код выглядел так:
let creationDate: Date = {
let dateFormatter = DateFormatter()
return dateFormatter.date(from: "19-06-2018 14:00")!
}()
После моего расследования я понял, что сбои появляются только на устройствах, которые установили 12-часовой формат даты в настройках устройства. В этих случаях 14:00
не существует, потому что это должно быть "2:00 PM".
Просто измените код, чтобы решить эту проблему:
let creationDate: Date = {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
return dateFormatter.date(from: "19-06-2018 14:00")!
}()