Он дает ошибки при использовании библиотеки Swift Static с проектом Objective-C

Мне нужно сделать быструю статическую библиотеку для моего требования. Я создал быструю статическую библиотеку, которая использует быстрый и Obj-c-код. Я включил файлы Obj-c через файл моста. Я могу скомпилировать быструю статическую библиотеку без ошибок и получить файл libMySwift.a. Я использую Xcode9.3 с Swift4 для компиляции библиотеки.

Я включил libMySwift.a в проект obj-c, а также включил obj-c совместимый заголовок для доступа к моей библиотеке в проекте. Когда я пытаюсь скомпилировать проект, он дает предупреждение ниже и более 200 ошибок.

Auto-Linking library not found for -lswiftSwiftOnoneSupport
Auto-Linking library not found for -lswiftCore
Auto-Linking library not found for -lswiftQuartzCore
Auto-Linking library not found for -lswiftCoreImage
Auto-Linking library not found for -lswiftCoreGraphics
Auto-Linking library not found for -lswiftObjectiveC
Auto-Linking library not found for -lswiftDispatch
Auto-Linking library not found for -lswiftMetal
Auto-Linking library not found for -lswiftFoundation
Auto-Linking library not found for -lswiftUIKit
Auto-Linking library not found for -lswiftDarwin
Auto-Linking library not found for -lswiftCoreFoundation

Пожалуйста, дайте мне знать, если мне не хватает каких-либо шагов или вам нужно что-то добавить.

Ответ 1

У меня такая же ошибка в моем демо-проекте, когда добавлен первый файл Swift в мой блок, составленный как статическая библиотека. Для меня решение было простым - просто добавили пустой файл Swift в мой демонстрационный проект, который ранее был в Objective-C. Это позволило решить все ошибки компоновщика.

Ответ 2

Обновление ответа Алекса:

В моем случае это был проект React-Native после добавления библиотеки Swift Pods. Может быть, только шаг 2 может работать:

  1. Добавление нового файла Swift и заголовка Brigde:

1) File -> New -> File <code>File -> New -> File</code>

2) Выберите Swift File Select <code>Swift File</code>

3) Подтвердите Create Bridging Header enter image description here

  1. Перейдите к Build Settings и установите Always Embed Swift Standard Libraries на YES Always Embed Swift Standard Libraries

Ответ 3

Этот ответ сработал для меня: добавьте $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) к путям поиска в библиотеке.