We observed that the Locale in the Foundation framework is giving different type of value for iOS 16 and iOS 17. We are assuming that the Locale returned in iOS 17 is causing issues in getting the time in AM/PM from 24 Hours format with DateFormatter when user changes the time format from 24 Hours to 12 hours respectively. Need assistance to resolve the issue.
DateRepresentable.swift -> Line Number 497.
func formatterForRegion(format: String? = nil, configuration: ((inout DateFormatter) -> Void)? = nil) -> DateFormatter {
var formatter = self.formatter(format: format, configuration: {
$0.timeZone = self.region.timeZone
$0.calendar = self.calendar
$0.locale = self.region.locale
})
configuration?(&formatter)
return formatter
}
Logs from XCode Console when TimeFormat in Device Settings is 12 Hours.
iOS 17
*** formatterForRegion: format = Optional("ha")
*** toString: .custom format = ha, Value = 15
iOS 16
*** formatterForRegion: format = Optional("ha")
*** toString: .custom format = ha, Value = 3PM
We observed that the Locale in the Foundation framework is giving different type of value for iOS 16 and iOS 17. We are assuming that the Locale returned in iOS 17 is causing issues in getting the time in AM/PM from 24 Hours format with DateFormatter when user changes the time format from 24 Hours to 12 hours respectively. Need assistance to resolve the issue.
DateRepresentable.swift -> Line Number 497.
Logs from XCode Console when TimeFormat in Device Settings is 12 Hours.
iOS 17
*** formatterForRegion: format = Optional("ha")
*** toString: .custom format = ha, Value = 15
iOS 16
*** formatterForRegion: format = Optional("ha")
*** toString: .custom format = ha, Value = 3PM