Недопустимое повторное объявление 'variable.storage' в Swift 4.2 после обновления до Xcode 10.2

У нас есть проект iOS. Версия языка Swift - 4.2. Ранее мы создавали его в Xcode 10.1 без ошибок компиляции.

После обновления до Xcode 10.2 (но с сохранением Swift 4.2) проект теперь пронизан ошибками типа Invalid redeclaration of 'variable.storage' (где variable - имя некоторой переменной). Эти ошибки появляются рядом с частными, ленивыми переменными с именами, которые обычно используются в проекте, но не являются повторным объявлением в пределах их области действия; ошибка, похоже, относится к storage части сообщения. Очистка и восстановление не решила проблему. Какие-либо предложения?

РЕДАКТИРОВАТЬ: эти ошибки проявлялись только в двух классах. Была также еще одна допустимая ошибка компиляции (новая в Xcode 10.2, но достаточно законная), которую я пропустил из-за всех этих ошибок повторного объявления. Немного повозившись **, у меня исчезли ошибки. Похоже на ошибку в компиляторе.

** Мои обходные шаги заключались в следующем: (1) отключить первый класс, в котором я получал эти ошибки, (2) создать новый класс с тем же содержанием, что и некомпилируемый, и указать ссылки на него, (3) закомментировал сбойный класс, (4) нашел и исправил допустимую ошибку компиляции. На этом этапе мне не нужно было возиться с другим классом, который также выдавал ошибки повторного объявления; код теперь скомпилирован. Итак, (5) вернул первый класс. Так что вполне возможно, что эти ошибки повторного объявления - просто неверное указание; Если вы найдете и исправите все ошибки, связанные с миграцией, надеюсь, вы их не увидите.


person Phlippie Bosman    schedule 29.03.2019    source источник
comment
(Добавлен тег swift5, потому что вы используете компилятор Swift 5 в режиме обратной совместимости 4.2.)   -  person Slipp D. Thompson    schedule 25.04.2019


Ответы (2)


У меня были те же ошибки, которые также маскировали некоторые другие ошибки. Как только я исправил другие ошибки, Invalid redeclaration of 'variable.storage' больше не возникало.

person JenssRey    schedule 04.04.2019
comment
@DylanReich Проблема здесь не имеет ничего общего с Xcode; проблема связана с компилятором Swift. Вы найдете те же результаты, если используете компилятор Swift 5 из командной строки или с другой платформы (например, Linux). - person Slipp D. Thompson; 25.04.2019

У меня такая же проблема после удаления фреймворка pod, и никаких других ошибок типа. Не могу найти, что случилось. Пробуем с Xcode11 swift5.1 ...

person Bobo Shone    schedule 10.07.2019