Posted at

iOS 11.0, 11.1 でISO8601DateFormatter.Options.withFractionalSeconds が動かない


現象

iOS 11.0からFoundation Frameworkに追加されたはずISO8601DateFormatter.Options.withFractionalSeconds がiOS 11.0, 11.1 では動かず NSInternalInconsistencyException でクラッシュしてしまう


原因

iOS11.2では時刻周りのバグ修正が入ったとのことなのでその当たりか

(iOS sdk のリリースノートが貧弱すぎて調べきれない…情報求む :bow: )


補足

それっぽいIssue は見つけたが修正タイミングが違う :thinking:


対応方法の選択肢


  • iOS 11.2 未満は非対応にする

  • OS versionで分岐

let dateFormatOptions: ISO8601DateFormatter.Options

if #available(iOS 11.2, *) {
dateFormatOptions = [.withInternetDateTime, .withFractionalSeconds]
} else {
dateFormatOptions = [.withInternetDateTime]
}