0

这是我的代码:

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")
}

我在 Docker 下的 Ubuntu 16.04 上运行。结果是:

gregorian (current)
Before dateComponents
Segmentation fault

看来 dateComponents 调用正在崩溃。

我的 Docker 容器基于 https://github.com/apple/swift-docker/blob/0aafffef619fb3b1824c968cbbe2fba4ba41bd26/5.0/ubuntu/16.04/Dockerfile

建议?


更新 1) 我刚刚在 Virtual box 下运行的 Ubuntu 16.04 系统上复制了这个,并安装了适用于 Ubuntu 16.04 的 Swift 5.0.1 版本:https ://swift.org/builds/swift-5.0.1-release/ubuntu1604/ swift-5.0.1-RELEASE/swift-5.0.1-RELEASE-ubuntu16.04.tar.gz

4

1 回答 1

0

我刚刚被告知这确实是一个已知的错误,具有已知的当前修复: https ://forums.swift.org/t/possible-bug-in-datecomponents-method-running-on-ubuntu-16-04/25702

于 2019-06-13T00:34:49.337 回答