После обновления до Xcode 9.3 (который использует Swift 4.1) была обнаружена следующая проблема:
-
Создайте пустой проект, добавьте к нему новый файл.swift и создайте два новых класса:
class CodableOne: Codable { let some: String } class CodableTwo: Codable { var some: String }
Сборка завершается
-
Добавьте новую константу в
CodableOne
типаCodableTwo
:class CodableOne: Codable { let some: String let another: CodableTwo } class CodableTwo: Codable { var some: String }
Сборка завершается
-
Теперь переместите класс
CodableTwo
в другой файл (например, ViewController.swift)Сбой сборки.
Теперь есть ошибка, которая не исчезнет. Codable
классы не должны требовать инициализаторы (как показано на предыдущих шагах).
Любые идеи о том, что может быть проблемой этого и как его можно решить, будут высоко оценены!
Проблема PS отсутствует в Xcode 9.2. Не очищая путь проекта/сборки, ни повторная установка Xcode 9.3 не помогает.