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

nmd*_*ias 47 ios ios-frameworks cocoapods swift

更新到CocoaPods 0.36.x后,我无法将导入添加到我的Bridging-Header.h文件中.我得到"找不到DBSphereView.h文件".

该文件确实存在于:

"Pods/DBSphereTagCloud/DBSphereView.h"
"Headers/public/DBSphereTagCloud/DBSphereView.h"
"Headers/private/DBSphereTagCloud/DBSphereView.h"
Run Code Online (Sandbox Code Playgroud)

我的桥文件:

#ifndef Loan_Bridging_Header_h
#define Loan_Bridging_Header_h
#import "DBSphereView.h"
#endif
Run Code Online (Sandbox Code Playgroud)

我可以使用框架.我参考了一个众所周知的框架(Alamofire),它很棒!

我的podfile:

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
pod 'DBSphereTagCloud', '~> 1.0'
pod 'Alamofire', '~> 1.1'
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

编辑:

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

Par*_*ara 106

在你Podfile,你指定use_frameworks!.

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

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

import DBSphereTagCloud
Run Code Online (Sandbox Code Playgroud)

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


vil*_*393 51

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

在此输入图像描述