Nik*_*hik 119 ios swift xcode6 objective-c-swift-bridge
按照说明,我创建了一个桥接标题并添加到我的项目中.不幸的是,发生了以下错误:
:0:错误:无法导入Objective-C标题'--- path - to --- header/.... h'
在构建设置中,我将标题搜索路径字符串添加到桥接标题的位置,但没有任何帮助.
有没有人遇到过这个问题?
Ren*_*cki 150
小心将文件添加到错误抱怨的文件夹中!我犯了同样的错误,如果你从Xcode创建文件,它将转到文件夹:Project-> Project-> Header.h
Xcode正在寻找Project-> Header.h
这意味着您需要将文件放在项目文件夹(ProjectName-> ProjectNameFolder)中!
希望有所帮助;)
更新:我不确定我是否明白你的意思,但试试这个来解决你的问题:
1.删除你创建的所有桥接文件,直到现在.
2.选择项目的主文件夹,然后点击新文件 - > iOS-> Header文件.
3.在创建的头文件中写入导入.
4.在Xcode-> Build Settings中选择项目,输入搜索字段:bridging并输入密钥SWIFT_OBJC_BRIDGING_HEADER头文件的名称或其路径!
如果您按照此步骤操作,您的头文件将在正确的位置创建!
:D希望有所帮助!
Dan*_*sko 67
在我的情况下,这实际上是循环引用的错误.我在桥接头中导入了一个类,该类的头文件正在导入swift头(<MODULE_NAME>-Swift.h).我这样做是因为在Obj-C头文件中我需要使用在Swift中声明的类,解决方案是简单地使用@class声明.
所以基本上错误说"无法导入桥接头",上面的错误表示<MODULE_NAME>-Swift.h文件未找到,上面是指向特定Obj-C头文件(即视图控制器)的错误.
检查这个文件我注意到它在头文件中声明了-Swift.h.将此导入移动到实现解决了该问题.所以我需要使用一个对象,让我们调用它MyObject在Swift中定义,所以我只需更改标题即可
@class MyObject;
Run Code Online (Sandbox Code Playgroud)
小智 30
找到路径:
构建设置/ Swift编译器代码生成/ Objective-C桥接头
并删除该文件.那你应该没问题.
Kyl*_*egg 17
这可能只会影响一小部分人,但在我的情况下,我的项目使用CocoaPods,其中一个pod有一个带有自己的CocoaPods的子规范.解决方案是使用全角度导入来引用子窗格中的任何文件.
#import <HexColors/HexColor.h>
Run Code Online (Sandbox Code Playgroud)
而不是
#import "HexColor.h"
Run Code Online (Sandbox Code Playgroud)
"我们需要告诉Xcode在哪里查找我们在桥接头中列出的头文件.找到搜索路径部分,并更改用户头搜索路径的项目级设置,为'Pods'添加一个递归条目目录:Pods /**" http://swiftalicio.us/2014/11/using-cocoapods-from-swift/
我也遇到过这个问题,遗憾的是它只是SDK + Xcode中的一个错误.我和WWDC的一位工程师谈过这个以及我在使用CloudKit时遇到的其他一些问题.这些错误将在Xcode的下一个种子中得到解决.
这是使用测试版软件的有趣部分.
| 归档时间: |
|
| 查看次数: |
129722 次 |
| 最近记录: |