Ios Swift桥接头导入问题
按照说明,我创建了一个桥接头并将其添加到我的项目中。不幸的是,发生了以下错误: :0:错误:无法将Objective-C标头'--path--to--header/…h'导入 在构建设置中,我将标题搜索路径字符串添加到桥接标题的位置,但没有任何帮助Ios Swift桥接头导入问题,ios,swift,xcode6,bridging-header,objective-c-swift-bridge,Ios,Swift,Xcode6,Bridging Header,Objective C Swift Bridge,按照说明,我创建了一个桥接头并将其添加到我的项目中。不幸的是,发生了以下错误: :0:错误:无法将Objective-C标头'--path--to--header/…h'导入 在构建设置中,我将标题搜索路径字符串添加到桥接标题的位置,但没有任何帮助 有人遇到过这个问题吗?我也遇到过这个问题,不幸的是,它只是SDK+Xcode中的一个bug。我和WWDC的一位工程师谈了这个问题,以及我在CloudKit上遇到的其他一些问题。这些错误将在Xcode的下一个种子中解决 这是使用测试版软件的乐趣所在。
有人遇到过这个问题吗?我也遇到过这个问题,不幸的是,它只是SDK+Xcode中的一个bug。我和WWDC的一位工程师谈了这个问题,以及我在CloudKit上遇到的其他一些问题。这些错误将在Xcode的下一个种子中解决
这是使用测试版软件的乐趣所在。小心将文件添加到您的错误所抱怨的文件夹中! 我犯了同样的错误,如果您从Xcode创建文件,它将进入文件夹:Project->Project->Header.h Xcode正在寻找Project->Header.h 这意味着您需要将文件放入项目文件夹(ProjectName->ProjectNameFolder) 希望有帮助;) 更新: 我不确定我是否明白你的意思,但试着用这个来解决你的问题:
1.删除迄今为止创建的所有桥接文件。
2.选择project的主文件夹,点击新建文件->iOS->头文件。
3.在创建的头文件中写入导入内容。
4.在Xcode->Build Settings中选择项目,在搜索字段中键入:bridgeing,并在键SWIFT_OBJC_bridgeing_头中输入头文件的名称或路径 如果遵循此步骤,将在正确的位置创建头文件 :我希望这会有帮助 在以下位置查找路径: 构建设置/Swift编译器-代码生成/Objective-C桥接头
并删除该文件。那你应该没事。这可能只会影响一小部分人,但在我的例子中,我的项目使用CocoaPods,其中一个pods有一个子规范,它有自己的CocoaPods。解决方案是使用全角度导入来引用子吊舱中的任何文件
#import <HexColors/HexColor.h>
在我的例子中,这实际上是循环引用导致的错误。我在桥接头中导入了一个类,该类的头文件正在导入swift头(
-swift.h
)。我这样做是因为在Obj-C头文件中,我需要使用一个用Swift声明的类,解决方案是简单地使用@class
声明性
因此,基本上错误是“未能导入桥接头”,上面的错误是未找到-Swift.h
文件,上面的错误是指向特定Obj-C头文件(即视图控制器)的错误
检查这个文件时,我注意到它的头中声明了-Swift.h。将此导入移动到实现解决了此问题。所以我需要使用一个对象,让我们称之为Swift中定义的MyObject
,所以我只是将标题改为
@class MyObject;
对于在objective-c项目中添加swift类有困难的其他人。 这对我来说很有用:
就这样。现在在代码中创建swift类,就像它是objective-c一样。对我来说,这是因为我忘了将它添加到目标的构建设置中
我实际上在项目下创建了一个空的OSX源目标C文件(我的所有swift文件都在该文件中)
我添加了导入,然后删除了.m文件。经过最初几天的努力,我终于成功地将Facebook注册集成到我的iOS应用程序中。以下是步骤(我假设您已经在计算机中安装了Facebook SDK v4.1或更高版本):
在其他修复中,我在尝试执行产品->归档时遇到了错误。原来我有这个:
Objective-C Bridging Header
Debug (had the value)
Release (had the value)
Any architecture | Any SDK (this was blank - problem here!)
在最后一行设置之后,它工作了。我从cocoapods的bridgin头文件中导入了一些文件,但方式不正确 而不是进口
#import <SomeCocoaPod/SomeCocoaPod.h>
这是我的一个巨大错误将临时Objective-C文件添加到项目中。你可以给它取任何你喜欢的名字 选择“是”以配置Objective-C桥接标头 删除刚刚创建的临时Objective-C文件 在刚刚创建的projectName bridgeing Header.h文件中,添加以下行: “#导入
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
GMSServices.provideAPIKey("AIza....") //iOS API key
return true
}
对于完整示例对于我来说,在添加框架时,没有在目标路径中选择“复制项目(如果需要)”。选择此选项后,只需重新添加框架即可 对于我来说,删除派生数据修复了它,我注意到即使我从旧提交中签出,同样的问题也会发生 你
#import "SomeCocoaPod.h"
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
GMSServices.provideAPIKey("AIza....") //iOS API key
return true
}
Uncategorized: Target 'Pods' of project 'Pods' was rejected as an implicit dependency for 'Pods.framework' because its architectures 'arm64' didn't contain all required architectures 'armv7 arm64'