Функции Xcode Pods не найдены в ModuleName-Swift.h

Из-за ограниченной библиотеки мне нужно использовать файлы Objective-C в моем проекте Swift.
Итак, я добавил модуль импорта Swift.h в свой файл .m.
Находит без проблем.
Проблема связана с автоматически сгенерированным файлом module-Swift.h".
У меня много ошибок, в основном из-за классов и протоколов, поступающих из модулей.
Image< /а>

Изображение

Изображение

Есть ли какой-нибудь конфиг для решения этой проблемы?


person Anas A.    schedule 18.09.2018    source источник
comment
вы добавили #import ‹MessageUI/MessageUI.h› это   -  person Eniya Sri    schedule 19.09.2018
comment
Привет, спасибо за ваш ответ. Куда добавить эту строку? В файле Objective-C, который использует мои функции Swift?   -  person Anas A.    schedule 19.09.2018
comment
Перед этим создайте связующий заголовок, ниже приведен мой ответ, и добавьте этот #import ‹MessageUI/MessageUI.h› #import ‹MessageUI/MFMailComposeViewController.h› в этот файл заголовка.   -  person Eniya Sri    schedule 19.09.2018


Ответы (2)


Если вы хотите использовать файлы Objective C в быстром проекте, подключите файлы Objective.

1) Создайте новый файл заголовка и назовите его как «имя вашего проекта-Bridge-Header.h». Файл должен быть сохранен в папке вашего проекта

2) Выберите свой проект xcode -> выберите цель сборки -> выберите настройки сборки -> щелкните параметр «все» вверху -> найдите Swift Compiler — General

3) Выберите Заголовок моста Objective-C и укажите путь как $(PROJECT_DIR)/$(PROJECT_NAME)/$(PROJECT_NAME)-Bridging-Header.h

4) Наконец, добавьте свои целевые файлы в файл заголовка.

person Eniya Sri    schedule 19.09.2018
comment
Привет, спасибо за ваш ответ! Однако это противоположно тому, что я хочу. Мне нужно использовать функцию Swift в коде Objective-C. - person Anas A.; 19.09.2018

Благодаря Кавите Мадху я нашел решение!

Для тех, кто столкнулся с такой же проблемой:

Если вы хотите использовать классы и функции Swift в коде Objective-C.
Но некоторые из ваших функций Swift используют протоколы и делегаты Pods.
Вам необходимо добавить в код Objective-C импорт заголовков модулей, содержащих эти протоколы и делегаты.

Например, если ваш модуль-Swift.h не находит «SlideNavigationControllerDelegate», вам нужно добавить в файл Objective-C (который использует «module-Swift. h") строка:
#import <iOS_Slide_Menu/SlideNavigationController.h>

person Anas A.    schedule 19.09.2018