Как ссылаться на файлы заголовков в Bridging-Header.h после обновления CocoaPods до версии 0.36.x и выше?

После обновления до CocoaPods 0.36.x я не могу добавить импорт в свой файл Bridging-Header.h. Я получаю сообщение "Файл DBSphereView.h не найден".

Файл действительно присутствует в:

"Pods/DBSphereTagCloud/DBSphereView.h"
"Headers/public/DBSphereTagCloud/DBSphereView.h"
"Headers/private/DBSphereTagCloud/DBSphereView.h"

Мой файл моста:

#ifndef Loan_Bridging_Header_h
#define Loan_Bridging_Header_h
#import "DBSphereView.h"
#endif

Я могу использовать фреймворки. У меня есть ссылка на хорошо известную платформу (Alamofire), и она прекрасно работает!

Мой подфайл:

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
pod 'DBSphereTagCloud', '~> 1.0'
pod 'Alamofire', '~> 1.1'

До обновления у меня не было проблем с импортом заголовочных файлов.

Как мне ссылаться на файлы заголовков в Bridging-Header.h после обновления CocoaPods до 0.36.x?

Спасибо!

РЕДАКТИРОВАТЬ:

Я также безуспешно пытался создать отдельный проект на основе примера «Начало работы» с сайтаcocopods.org. После использования Frameworks я не могу ссылаться на файлы заголовков в моем заголовочном файле моста. Я должен пропустить какую-то деталь?


person nmdias    schedule 16.03.2015    source источник


Ответы (5)


В вашем Podfile вы указали use_frameworks!.

В результате код Objective-C, который вы включаете в качестве зависимости (DBSphereTagCloud), упакован как фреймворк, а не как статическая библиотека. Дополнительные сведения см. в разделе CocoaPods 0.36 — поддержка Framework и Swift.

Как следствие, вам не нужен связующий заголовочный файл. Вам достаточно добавить:

import DBSphereTagCloud

во всех файлах Swift, которым нужен этот модуль.

person Para    schedule 17.03.2015
comment
Как импортировать, если в моем проекте смешаны файлы Objective-C и swift и я хочу использовать DBSphereTagCloud.h? - person jayesh lathiya; 05.02.2016
comment
Для быстрого файла я могу успешно импортировать DBSphereTagCloud.h [как вы предлагаете импортировать DBSphereTagCloud], но для файла Objective-C? - person jayesh lathiya; 05.02.2016
comment
Я ломал голову над этим, когда Вентокенфилд больше не работал. Спасибо! - person ObjectNameDisplay; 22.06.2016
comment
OMG, у меня была эта проблема в случайных проектах в течение нескольких недель. Большое спасибо. :) - person SuperDuperTango; 12.08.2016

У меня были проблемы с этим. Мой соединительный заголовок не находил библиотеки модулей. В конце концов я узнал, что я должен сделать это.

введите описание изображения здесь

person villy393    schedule 30.09.2015
comment
У меня возникли проблемы с фреймворком после включения use_frameworks! Я получаю сообщение об ошибке MTLModel.h, не найденное в классе obj-c, на который ссылается мой соединительный заголовок. Добавление модулей в пути поиска заголовков пользователей, как говорится в этом ответе, решило мою проблему. - person pinkeerach; 02.09.2017

Попробуй это:

import  <DBSphereTagCloud/DBSphereView.h>
import  <DBSphereTagCloud/DBSphereView.h>
person Mohammad Nurdin    schedule 17.03.2015

Для меня...

Оригинал

import  "<Folder/File.h>"

Изменить на

import  <Folder/File.h>
person Byron Coetsee    schedule 09.06.2015

В «Проект» > «Настройки сборки» > «Пути поиска» > «Пути поиска заголовков»

Добавлять:

"${PODS_ROOT}/Headers/Public/[Имя папки, в которой находятся файлы pod]"

Сделайте это для каждого модуля, который вы установили.

person stephen    schedule 26.06.2015