Сбой сборки Xcode из-за неопределенного символа: __swift_FORCE_LOAD _ $ _ swiftUIKit

Я создал новый проект в Xcode 11 (проект iOS с одним представлением с SwiftUI) и включил Mac в качестве целевого устройства. Ничего не делая, я пытаюсь построить и получаю такую ​​ошибку:

ld: warning: directory not found for option '-L/Applications/Xcode'
ld: warning: directory not found for option '-L11.0-Beta.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac'
ld: warning: directory not found for option '-L/Applications/Xcode'
ld: warning: directory not found for option '-L11.0-Beta.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac'
ld: warning: Could not find or use auto-linked library 'swiftUIKit'
Undefined symbols for architecture x86_64:
  "__swift_FORCE_LOAD_$_swiftUIKit", referenced from:
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in AppDelegate.o
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in SceneDelegate.o
      __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject in ContentView.o
     (maybe you meant: __swift_FORCE_LOAD_$_swiftUIKit_$_MyProject)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Среда

  • macOS 10.15 Catalina Beta (19A487l)
  • Xcode 11.0 beta 2 (11M337n)
    • Swift 5 mode

person Ky Leggiero    schedule 02.07.2019    source источник


Ответы (6)


Для XCode версии 12.0.1 (12A7300),

Я только что добавил libswiftWebKit.tbd в

Свяжите двоичный файл с библиотеками (из проекта, Этапы сборки)

и сборка прошла успешно.

person Florent    schedule 25.09.2020
comment
Большое спасибо, брат, ты спас мне день. - person Anurag Shrivastava; 11.05.2021
comment
Это действительно сработало. - person deva11; 25.05.2021
comment
Это следует добавить как принятый ответ. - person jsonbourne; 15.07.2021

Создайте пустой файл Swift с помощью Xcode, например с именем test.swift, и попробуйте снова запустить

person Anhdevit    schedule 23.09.2020
comment
Для моего конкретного вопроса это решение неприменимо, потому что это уже был быстрый проект с заголовком моста. Однако этот ответ может помочь другим с аналогичными сообщениями об ошибках. - person Ky Leggiero; 15.10.2020

Как намекают предупреждения, говорящие directory not found, кажется, что Xcode не любит иметь пробел в имени файла своего пакета.

Я переименовал его с Xcode 11.0-Beta.2.app в Xcode-11.0-Beta.2.app, и теперь он отлично собирается.

person Ky Leggiero    schedule 02.07.2019

Перейдите в Xcode, в имени проекта щелкните правой кнопкой мыши и выберите «Новый файл…». Выберите файл Swift и нажмите «Далее». Выберите цель проекта и «Готово». На следующем экране выберите «Создать заголовок моста» - убедитесь, что соединение выполнено.

Сохраните файл swift на будущее, чтобы запустить симулятор.

person PavelPark    schedule 02.10.2020
comment
Спасибо за регистрацию, чтобы ответить на мой вопрос! Здесь, в Stack Overflow, нам нравится, чтобы каждый ответ был отдельным способом решения вопроса. Я думаю, ваш ответ такой же, как Ань, но вы предоставили более подробные инструкции. - person Ky Leggiero; 04.10.2020

Что касается меня, я сталкивался с ошибкой ссылки с быстрой библиотекой с Xcode 12, я решил ее, добавив $ (TOOLCHAIN_DIR) / usr / lib / swift / $ (PLATFORM_NAME) и $ (TOOLCHAIN_DIR) ) /usr/lib/swift-5.0 / $ (PLATFORM_NAME) в пути поиска библиотеки в настройках сборки

person Jimmy liu    schedule 26.11.2020

Удалять

$ (TOOLCHAIN_DIR) /usr/lib/swift-5.0 / $ (PLATFORM_NAME) из путей поиска библиотеки в настройках сборки

person Ammar Khaliq    schedule 22.04.2021
comment
Кажется, это дубликат ответа Джимми Лю - person Ky Leggiero; 22.04.2021