当前位置: 首页 > 面试题库 >

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

杨征
2023-03-14
问题内容

有什么方法可以在我的Swift项目中使用swift使用用Objective-C编写的CocoaPod吗?

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


问题答案:

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

更重要的问题是“如何使用此类库?”
这个问题的答案取决于use_frameworks!您中的标志Podfile
假设您要使用带有name的Objective-C pod CoolObjectiveCLib

如果您的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"

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



 类似资料:
  • 当我在swift项目中访问swift类时,它工作得很好,但当我试图访问swift中的objective c类时,我无法访问,并且我还在swift项目中桥接了objective c文件。

  • 问题内容: 简单地说,我有一个存储应用程序常量的结构,如下所示: 例如,可以通过调用在Swift代码中使用这些常量。但是在我的代码中,它还包含一些Objective- C类。所以我的问题是如何在Objective-C代码中使用这些常量? 如果这种声明常量的方法不好,那么在Swift和Objective-C代码中使用全局常量的最佳方法是什么? 问题答案: 可悲的是,你不能暴露,也不是Objectiv

  • 问题内容: 因此,我尝试使用此字体http://fortawesome.github.com/Font- Awesome/ 。我已经将字体添加为资源,并将其放在plist文件中。这是我的使用方式: 但是,这不起作用。有谁知道如何在Xcode项目中使用此字体? 问题答案: 这是因为您的方法包含用于unichar的文字,而不是包含NSString的NSString,NSString是使用%@的对象,这

  • 我正在尝试实现音频可视化器到AVAudioPlayer从许多天,尝试了不同的库,但没有成功。现在我发现了一个库displayer,但问题是它在Objective-C中,现在我不知道如何在swift代码中使用它。这里是图书馆https://github.com/agilie/displayers-audio-visualizers的链接。请在这方面指导我,或者在SWIFT中建议我一个好的可视化器。

  • 问题内容: 我正在迁移课程,以便对Swift进行一些培训。我通过桥接头成功使用了Objective- C代码,但是我需要导入一个包含指令的常量文件。 我在结合Swift和Cocoa和Objective-C(简单宏)中看到以下内容: 简单宏 通常在C和Objective-C中使用指令定义原始常量的地方,在Swift中使用全局常量代替。例如,常数定义可以在Swift中使用更好地表达。由于简单的类似于常

  • 问题内容: 我有一个带有值的枚举,它将用于告诉将消息记录到服务器的服务器类型的API方法。我正在使用Swift 1.2,因此可以将枚举映射到Objective-C 我得到错误 @objc枚举原始类型字符串不是整数类型 我没有设法找到任何地方说只有整数可以从Swift转换为Objective-C。是这样吗 如果是这样,是否有人对在Objective- C中提供类似的最佳实践建议? 问题答案: 从Xc