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

将Objective-C框架导入Swift项目时,在Bridging Header中获取“找不到文件”

谭宜
2023-03-14
问题内容

我有一个Swift项目,正在尝试导入基于ObjC的框架。该框架位于项目路径下的目录中,并由项目在Xcode中引用。它也已添加到项目“构建阶段”页面的“链接二进制文件与库”中。

但是,由于某种原因,我似乎无法在Bridging-Header文件中包括该框架。我收到以下错误:

BridgingHeader.h:5:9: error: 'Parse/Parse.h' file not found
#import <Parse/Parse.h>
        ^
<unknown>:0: error: failed to import bridging header 'BridgingHeader.h'

我检查过的事情:

  1. “安装Objective-C兼容性标头”设置为“是”。
  2. 标题搜索路径包括框架的路径。

我确定我会丢失一些东西,所以如果有人有任何线索,那将是很棒的。


问题答案:

找到了解决方案

  • SWIFT_OBJC_BRIDGING_HEADER必须在“目标”级别而不是“项目”级别设置“ Objective-C桥接标题”设置(aka )。确保在项目级别删除设置值。

(在我看来,这似乎是Xcode的错误,因为我不知道为什么要修复它)。



 类似资料:
  • 问题内容: 我将swift框架导入到Objective-C项目中,如下所示: 问题在于我正在导入框架的类只能识别某些类。 被认可的课程: 该类不是: 它们都是公开的,那么为什么第一个在工作空间中被识别,而另一个却没有? 我也在头文件MyFramework-Swift.h中看到一个类 出现而其他不出现 这是为什么? 另外要指出的是,当我将swift框架导入swift项目时,该相同的程序也可以工作 问

  • 问题内容: 我得到了一个迅速的项目,并使用CocoaPod导入了第三方存储库。在我使用的pod文件中,因此存储库将内置到框架中以供使用。然后将ObjC框架导入或导入到我的桥接头中。 在这种情况下,我运行该项目,它可以正常工作。但是当我存档时,在桥接头文件中找到“找不到文件”。 和 我该如何解决这个问题? 问题答案: 我的解决方案是: 不要在桥接头文件中导入ObjC框架,而只是在需要该框架的文件中导

  • 问题内容: 我正在尝试导入一个项目。我在“构建阶段”->“使用库链接二进制文件”中添加了内容。 Objective-C的作品: 但是在Swift中,我得到一个错误: 根据Swift文档: 导入外部框架 您可以导入具有纯Objective- C代码库,纯Swift代码库或混合语言代码库的外部框架。无论框架是用单一语言编写还是包含两种语言的文件,导入外部框架的过程都是相同的。导入外部框架时,请确保将要

  • 我尝试将名为的Swift协议导入到名为的Objective-C类中。 我从一个现有的Objective-C项目开始(我没有用xCode创建一个新的Swift项目,也没有发现如何在Xcode6中将我的Objective-C项目配置为一个Swift项目)。 在Apple文档中,他们说我必须在我的文件中包含名为的文件。但我不需要将其包含在文件中,而是包含在中。这会有问题吗? 当我尝试编译时,出现以下错误

  • 问题内容: 我已经在Swift中编写了一个库,但无法将其导入到用Objective-C编写的当前项目中。 有什么方法可以导入吗? 问题答案: 您需要导入。请注意,这是目标名称-其他答案会导致使用类名称的错误。 这个单个文件是一个自动生成的标头,它为项目中所有用注释或继承的Swift类定义了Objective-C接口。 注意事项: 如果您的目标名称包含空格,请用下划线替换(例如,成为) 如果目标是框

  • 问题内容: 我正在尝试将Objective-C框架与Swift编程语言一起用于iOS 8开发。这是导入的一个特定情况,但是一般的问题是: 您如何将Objective-C框架导入Swift并获得认可? 我正在尝试使用iOS 8和Xcode 6 Beta将Parse框架集成到快速应用程序中。 这是在Objective-C中进行Parse框架集成的技术: https://www.parse.com/ap