如何在Swift项目中使用Objective-C CocoaPods

时间:2015-08-07 18:35:10

标签: objective-c swift cocoapods

有没有办法可以使用swift在我的Swift项目中使用Objective-C编写的CocoaPod?

我只是制作一个桥接头?如果是这样,我可以访问Swift中CocoaPod中的库定义的对象,类和字段吗?

4 个答案:

答案 0 :(得分:156)

您的问题的基本答案是,您可以使用使用CocoaPods构建的objective-c代码。

更重要的问题是"如何使用这些库?"
对此问题的回答取决于use_frameworks!中的Podfile标志:
让我们假设你想要使用名为CoolObjectiveCLib的Objective-C pod。

如果您的pod文件使用use_frameworks!标记:

// Podfile
use_frameworks!
pod 'CoolObjectiveCLib'

然后您不需要添加任何桥头文件 您需要的一切都是Swift源文件中的导入框架:

// MyClass.swift
import CoolObjectiveCLib

现在您可以使用lib中显示的所有类。

如果您的pod文件没有使用use_frameworks!标记:

// Podfile
pod 'CoolObjectiveCLib'

然后你需要创建桥接头文件并导入所有必需的Objective-C头文件:

// MyApp-Bridging-Header
#import "CoolObjectiveCLib.h"

现在您可以使用导入标头中定义的所有类。

答案 1 :(得分:1)

在podFile中使用标记use_frameworks! 在依赖项中的Pod文件夹结构中的Xcode内部,您可以在支持文件中添加xxxxxxx-umbrella.h

{PROJECT_NAME}-Bridging-Header.h使用中:

#import "xxxxxxx/xxxxxxx-umbrella.h"

它对我有用。

答案 2 :(得分:0)

你只需要一个桥接标题并在那里导入你需要的东西。

答案 3 :(得分:0)

并且不要忘记将桥接头文件名添加到Target->构建设置-> Objective-C桥接头