桥接头和伞文件之间有什么不同?错误:不支持将桥接标头与框架目标一起使用

时间:2015-05-20 04:06:53

标签: ios objective-c xcode swift header

我已经阅读了这个解决方案,但我仍然无法区分桥接头和伞文件。当我使用Objective-C库时,我得到了同样的错误。 StackOverflow question

但是,我只需要使用github中的.swift代码。 Gzip-NSdata

但是我得到了同样的错误:不支持使用带有框架目标的桥接头。

我需要在我开发的框架(不是应用程序)中使用它。但我不知道应该在哪里添加objective-c标头。我按照说明在构建设置下添加了一个objective-c桥接头,并添加" #import"到这个文件。我还将libz.dylib库添加到我的链接框架和库中,状态为" required"。我找不到任何"伞状文件"在我的Xcode中,所以我无法解决这个问题。谁能帮我?非常感谢你。很抱歉,我对iOS开发并不熟悉。

2 个答案:

答案 0 :(得分:0)

对我来说这真的很奇怪。我重现了我的问题,但我再也无法得到同样的错误,而且我成功构建了。我的步骤如下:

  1. 通过文件>将标题(.h)添加到我的目标新>文件...> iOS和GT;源>头文件
  2. 将NSData + GZIP.swift(使用libz.dylib)添加到我的目标
  3. 将libz.dylib添加到Target>下的Linked Framework和Libraries general(一个标签)(点击+按钮添加libz.dylib)
  4. 告诉Xcode Target>中的头文件在哪里?构建设置> Swift Compilier-代码生成> Objective-C Bridging Header(注意它应该是你的根目录的路径)
  5. 而且......这次成功建造!! 注意:如果你必须在另一个目标(例如unittest)中使用,你应该再次按照步骤进行操作。

答案 1 :(得分:-1)

首先删除所有桥头文件,

尝试创建Obj-c文件[New File-> Source-> Obj-C文件],默认情况下会要求您创建头文件。

你应该确认一下,它会创建你的文件名.m& yourfilename.h文件。 现在您应该将Obj-c库导入yourfilename.h文件

示例:

#import <Parse/Parse.h>

毕竟你可以删除你的.filename.m文件。