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

导入桥接头失败

祁彬
2023-03-14
问题内容

我已经阅读了很多有关类似问题的问答,但是我还没有找到解决方案。如果有人能阐明一点,那就太好了。

我创建了一个Swift项目,现在我想将其与一些Objective-
C结合起来。仅在尝试#import我的Chartboost.h文件时,才出现我的“无法导入桥接头”。因此,只要桥接头文件中没有任何内容,Xcode就会找到它,并且没有任何问题。但是一旦我添加了这个:

#import <Chartboost/Chartboost.h>

我收到该错误以及其他38个错误,说“快速编译器错误-此处不允许使用函数定义”。

我已经正确导入了我的框架。而且我的框架搜索路径是正确的。而且只有当我导入Chartboost框架时。UIKit和Foundation可以正常工作。

这是导致该问题的原因。…首先,我创建了一个新的Obj-C文件,然后单击“是,当Xcode给我一个弹出窗口询问它是否可以配置桥接头时。这创建了“事实”
-Bridging-Header.h“

然后,我确定在Swift编译器-代码生成下,Objective-C桥接头路径正确。

我什至输入了一个非常特定的路径/Users/me/Desktop/FunFacts/FunFacts-Bridging-
Header.h,它仍然显示“无法导入”。

我还将“定义模块”设置为“是”(因为我听说这可能会有所帮助)。我的产品模块名称是FunFacts。

为什么在尝试添加#import时FunFacts-Bridging-Header.h无法导入?


问题答案:

我想出了两种解决方案!

1)这不是最漂亮的方法,但是我将所有代码从Chartboost.h文件复制并粘贴到了Bridging-
Header.h文件中,而不是导入了。这工作了。但是我知道有更好的方法,所以我一直在狩猎…

2)我认为,下一步是正确的解决方案。我项目的(不是目标)框架搜索路径为空。因此,我继续将Chartboost SDK的路径添加如下:/ Users / me
/ Desktop / Apps / SDKs / Chartboost
现在,它可以毫无问题地构建和运行,并且我不必复制所有内容并将其粘贴到桥接中标头。所有需要的是

#import <Chartboost/Chartboost.h>

如果有人遇到类似问题,请阅读我在问题中所做的操作,然后再回答此问题。



 类似资料:
  • 问题内容: 我正在尝试使用GoogleidentityToolkit库来处理登录问题。我启用use_frameworks!在我的Pod文件中,但是找不到模块GITkit。我试图弄清楚发生了什么。据我所知,如果您使用“ use_frameworks”,则不需要创建任何桥接头文件,因为cocoapods将库向下编译为一个模块,因此以后您可以照常将其导入* .swift文件中。 在Swift中使用Goo

  • 问题内容: 我将Obj- C文件导入到我的swift项目中,并且Xcode自动提示我按预期创建桥接头文件。但是,我删除了两个文件(移至废纸))进行了一些更改,但是当我尝试再次导入Obj- C文件时,提示不再出现。是什么原因?我什至在另一个项目中测试了相同的场景,似乎一旦删除Xcode的自动创建的桥接标头,它将不会再次提示。为什么是这样? 问题答案: 出现此问题的原因是,Xcode构建设置仍保留自动

  • gRPC HTTP/1.1 桥接的配置概述。 { "name": "grpc_http1_bridge", "config": {} } 返回 上一级

  • gRPC 架构概述 v1 API 参考 v2 API 参考 这是一个简单的过滤器,可以将不支持gRPC响应的HTTP/1.1客户端桥接到兼容的gRPC服务器。它的工作原理如下: 发送请求时,过滤器会查看连接是否为HTTP/1.1,请求内容类型为application/grpc。 如果是这样,当收到响应时,过滤器会缓存并等待预告片,然后检查grpc-status代码。如果不为零,则过滤器将HTTP响

  • 我试图运行此代码: 我一直得到的问题是这个错误报告: 你能帮帮我吗?

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