Файл Framework / header1.h не найден в диспетчере пакетов Swift. - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть существующий каркас Objective C, использующий Карфаген для сборки. Я поддерживаю Swift PM для существующей инфраструктуры Objective C и реализовал Swift PM, используя приведенную ниже команду в текущем проекте.

swift package init

Эта команда инициализирует Swift PM и создает package.swift. и я настроил его.

Когда я запустил диспетчер пакетов Swift в XCode, я получил файл ошибки "framework / header1.h", не найденный,

Когда я изменил инструкцию импорта как @import framework;

он отлично работает для Swift Package Manager , но когда я открыл файл .xcproject платформы в XCode, он выдает мне сообщение об ошибке «Модуль не найден».

Есть ли способ импортировать заголовок или фреймворк, чтобы он нормально работал как для Swift PM , так и для Карфагена ?

1 Ответ

0 голосов
/ 09 марта 2020

После прожигания головы в течение более двух дней найдено два решения вышеуказанной проблемы.

  1. Вы можете использовать определение препроцессора SWIFT_PACKAGE
#if SWIFT_PACKAGE
#import "header1.h"
#else
#import <framework/header1.h>
#endif

2. Добавьте заголовочные файлы publi c в

Project setting > Build Phases > Headers > Public

Добавьте publicHeadersPath в раздел Target и убедитесь, что Swift Package Library name в Package. swift должен быть таким же, как в рамках проекта .

...