如何在将CocoaPods更新到0.36.x及更高版本后引用Bridging-Header.h中的头文件?

时间:2015-03-16 14:58:28

标签: ios swift cocoapods ios-frameworks

更新到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

我可以使用Frameworks。我参考了一个众所周知的框架(Alamofire),并且效果很好!

我的podfile:

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

在更新之前,我没有导入头文件的问题。

在将CocoaPods更新为0.36.x后,如何在Bridging-Header.h中引用头文件?

谢谢!

编辑:

我还尝试根据示例创建一个单独的项目" Get Started"来自cocoapods.org,没有成功。使用Frameworks后,我似乎无法在我的桥接头文件中引用头文件。我一定错过了一些细节?

5 个答案:

答案 0 :(得分:106)

Podfile中,您指定了use_frameworks!

因此,您将作为依赖项(DBSphereTagCloud)包含的Objective-C代码打包为框架,而不是静态库。有关详细信息,请参阅CocoaPods 0.36 - Framework and Swift Support

因此,您不需要桥接头文件。它足以让你添加:

import DBSphereTagCloud

在所有需要该模块的Swift文件中。

答案 1 :(得分:50)

我遇到了这个问题。我的桥接头没有找到pod libs。我最终发现我必须这样做。

enter image description here

答案 2 :(得分:4)

试试这个:

import  <DBSphereTagCloud/DBSphereView.h>
import  <DBSphereTagCloud/DBSphereView.h>

答案 3 :(得分:-1)

对我来说......

原始

import  "<Folder/File.h>"

更改为

import  <Folder/File.h>

答案 4 :(得分:-1)

在项目&gt;构建设置&gt;搜索路径&gt;标题搜索路径

添加:

&#34; $ {PODS_ROOT} /标题/公共/ [包含pod文件的文件夹名称]&#34;

为您安装的每个吊舱执行此操作