Не удается собрать проект macOS после обновления до Xcode 10.2 / Swift 5 - PullRequest
5 голосов
/ 27 марта 2019

Мой проект собран нормально перед обновлением Xcode.

Теперь, однако, я больше не могу построить проект. При использовании Swift 5 сборка проекта никогда не заканчивается. Он останавливается на «Построении 70 из 100 заданий» и просто никогда не заканчивается. Эти числа тоже не всегда одинаковы, но они никогда не заканчивают построение.

Если я попытаюсь использовать XCode для конвертации моего проекта из Swift 4.2 в Swift 5, он также никогда не завершит конвертацию.

Если я попытаюсь изменить цепочку инструментов, чтобы использовать цепочку инструментов выпуска Swift 4.2.1, код успешно скомпилируется, но я получаю этот сбой сразу во время выполнения:

dyld: Symbol not found: _$SBOWV
  Referenced from: /Users/compc/Library/Developer/Xcode/DerivedData/Swift_Coder-hczsehpbafcwkfgwyameucznmhsp/Build/Products/Debug/Swift Coder.app/Contents/MacOS/../Frameworks/SavannaKit.framework/Versions/A/SavannaKit
  Expected in: /usr/lib/swift/libswiftCore.dylib
 in /Users/compc/Library/Developer/Xcode/DerivedData/Swift_Coder-hczsehpbafcwkfgwyameucznmhsp/Build/Products/Debug/Swift Coder.app/Contents/MacOS/../Frameworks/SavannaKit.framework/Versions/A/SavannaKit

Я пытался очистить проект и удалить производные данные, но ни один из них не работает.

Проект продолжает собираться и работать отлично, если я использую Xcode 10.1.

Ответы [ 4 ]

2 голосов
/ 02 апреля 2019

У меня были проблемы с некоторыми кодами, связанными с расширением типа ClosedRange до Encodable и Decodable пользовательским способом.В Swift 5 ClosedRange уже соответствует Encodable и Decodable, когда его Bound равно Encodable и Decodable, но компилятор не выдавал ошибку об избыточном соответствии, вместо этого просто завис накомпиляция.

После того, как я изменил свой код для использования нового соответствия Swift 5, он скомпилировался нормально.Однако, чтобы сузить проблему до этого, потребовалось много времени.Мне кажется, это ошибка в Swift Compiler, потому что компилятор зависает на игровой площадке или из командной строки, даже на другом Mac.

1 голос
/ 27 марта 2019

Пожалуйста, удалите производные данные,

Вы можете перейти в «Файл»> «Параметры рабочего пространства», если вы находитесь в рабочей среде, или «Файл»> «Параметры проекта» для обычной проектной среды. Затем нажмите на маленькую серую стрелку в разделе «Производные данные» и выберите папку проекта, чтобы удалить ее.

если у вас есть Pods Than, то деинтегрируйте и заново установите все файлы pod.

Надеюсь, это работает для вас!

1 голос
/ 27 марта 2019

Есть ли в вашем проекте третьи библиотеки?Если это так, попробуйте выяснить, какой из них устарел.Попробуйте построить проект без этих библиотек, я уверен, что некоторые из них просто устарели.Вы также можете установить старую языковую версию swift.Выберите цель, перейдите в «Настройки сборки»> «Swift Language Version»

0 голосов
/ 16 мая 2019

Отключить iCloud.

Проблема была вызвана несоответствиями между рабочим столом и icloud!

Потратил 24 часа, пытаясь выяснить, почему рабочая область зависла при запуске.

...