Вот мой код:
import Foundation if let utc = TimeZone(abbreviation: "UTC") { let calendar = Calendar.current print("\(calendar.description)") print("Before dateComponents") let componentsDate1 = calendar.dateComponents(in: utc, from: Date()) print("\(componentsDate1)") } else { print("Could not create timezone") }
Я работаю на Ubuntu 16.04 под Docker. Результат:
gregorian (current) Before dateComponents Segmentation fault
Похоже, что происходит сбой вызова dateComponents.
Мой контейнер Docker основан на https://github.com/apple/swift-docker/blob/0aafffef619fb3b1824c968cbbe2fba4ba41bd26/5.0/ubuntu/16.04/Dockerfile
Предложения
ОБНОВЛЕНИЕ 1) Я только что повторил это в системе Ubuntu 16.04, работающей под Virtual Box, с установкой релиза Swift 5.0.1 для Ubuntu 16.04: https://swift.org/builds/swift-5.0.1-release/ubuntu1604/swift-5.0.1-RELEASE/swift-5.0.1-RELEASE-ubuntu16.04.tar.gz
Мне только что сообщили, что это действительно известная ошибка с известным текущим исправлением: https://forums.swift.org/t/possible-bug-in-datecomponents-method-running-on-ubuntu-16-04/25702