Ошибка при обнаружении модуля при импорте модуля Swift в проект Objective-C
У меня есть существующий проект, который написан на Objective-C. Я хочу использовать в этом проекте библиотеку iOS Charts от Daniel Gindi, которая находится в Swift. Как мне этого добиться?
Импорт Swift Framework в проект Objective-C связан, но в моем случае я использую библиотеку, устанавливая ее через Cocoapods, как указано здесь.
В этом вопросе он по крайней мере может импортировать заголовок, но в моем случае я не могу.
Шаг 1: Создайте проект Objective-C для одного представления.
Шаг 2: Создайте Podfile и добавьте следующие строки -
use_frameworks!
pod 'Charts'
Шаг 3: Установите модуль
Шаг 4. Попробуйте импортировать диаграммы в ViewController.h @import Charts
но это дает ошибку на этом этапе. Ошибка - Module Charts not found
3 ответа
В моем существующем проекте я сделал #include Charts-Swift.h
в моем проекте main.m
файл и это решило проблему от меня. @import Charts
работал отлично сейчас. Это было сделано в соответствии с инструкциями, которые написаны в документации Apple здесь.
Я сделал новый проект и попробовал ответ Anni S, на этот раз я построил проект с cmd+B
перед написанием любого импорта, и это тоже сработало. Я полагаю, что его нужно собирать один раз после установки модуля и перед импортом любого модуля.
Я попытался сделать то же самое, что вы упомянули в комментарии, однако я не получил ошибку, которую вы получили. Мой проект просто собирается и запускается. Шаги, которым я следовал:
- Создать Objective-C единый вид проекта.
- Добавлен 'Podfile' на уровне каталога проекта (Podfile должен быть на уровне файла xcodeproject) и добавить следующие строки
use_frameworks! pod 'Charts'
- Закрыть xcodeproject
- Перейдите в каталог проекта и запустите
'pod install'
команда из терминологии - Открытое рабочее пространство, т.е. файл.xcworkspace
- Импортируйте файл диаграмм в контроллер вида, например
#import "ViewController.h" @import Charts;
Я нашел причину, почему это работает для нового проекта, но для существующего проекта.
В настройках проекта удалите значение свойства "Другие флаги компоновщика".
Это большинство случаев, когда большинство разработчиков скучают.