В Xcode 9 я пытаюсь сделать автоматическое преобразование в Swift 4. Он выходит из строя со следующим сообщением:
Ошибка перехода к текущему синтаксису Swift
Перед попыткой переноса убедитесь, что все выбранные цели успешно сработали с текущей версией Swift.
Он жалуется на недостающий модуль. Но когда я делаю регулярную сборку, проблем нет. Не уверен, что это актуально, но модуль (который отсутствует в Xcode) уже был преобразован в Swift 4 ранее (в нем собственный проект).
Примечание: здесь не используются Cocoapods/Carthage.
Примечание. Два решения пробовали (и работали), но не затрагивают основную проблему.
- Одно из решений заключается в том, чтобы выполнить преобразование вручную (измените версию Swift на 4 в настройке сборки и примените Fix-Its по одному, пока не будет больше ошибок сборки).
- Еще одно решение - отключить стороннюю структуру (закомментировать весь код, где она была использована), выполнить автоматическую миграцию, а затем снова включить фреймворк. Это может стать довольно сложным с большими проектами.