Bridging-Header.h 文件和错误“使用未声明的类型...”
Posted
技术标签:
【中文标题】Bridging-Header.h 文件和错误“使用未声明的类型...”【英文标题】:Bridging-Header.h file and error "use undeclared types..." 【发布时间】:2016-02-12 12:06:12 【问题描述】:我在我的应用程序中安装 Podfile,并从我的文件 .xcworkspace 运行它。我的项目是一个 Swift 项目,但安装的 pod 位于 ObjectC 中。 我创建了 myApp-Bridging-Header.h 并在其中添加:
#import "SignalR.h"
#import "RockSocket.h"
...
然后打开 target>BuildSetting 并在 SwiftCompiler-CodeGeneration>Object-C BridgingHeader 中添加 bridgingFile 的路径。 我构建了项目,它工作正常,但是在我创建时在我的 ViewConytoller 文件中:
var connection:SignalR = SignalR()
我有错误“使用未声明的类型'SignalR'。
我读了一些问题,但我没有解决我的问题。请问你能帮帮我吗??
编辑 我不能使用 SwiftR,因为它是用 javascript 代码和 Jquery 库编写的,我不能使用它这是我的桥接文件的屏幕截图。
这是我的 pod 文件:
platform :ios, '9.0'
pod 'AFNetworking', '2.6.3'
pod 'SocketRocket', '0.3.1-beta2'
pod 'SignalR-ObjC', '2.0.0.beta1'
希望你能帮助我。感谢您的回答。
【问题讨论】:
我假设你在桥接头文件中写了#import
,而不是import
?
所以应该是Signalr
或SignalR
?
对不起,我写的时候弄错了。我编辑帖子
您是否尝试在您的 podfile 中指定 use_frameworks!
你好。如果您解决了您的问题,您可以选择(“接受”)一个对您有帮助的答案,或者自己添加一个答案 - 但请不要修改问题。谢谢!
【参考方案1】:
为 SignalR-ObjC 提供了一个名为 SwiftR 的快速包装器,因此您必须在 Pod 文件中执行以下操作
use_frameworks!
pod 'SwiftR'
在此处查看链接https://github.com/adamhartford/SwiftR
【讨论】:
【参考方案2】:在桥接头文件中,您可以编写如下内容:-
#import "fileName.h"
or
#import "<filename/fileName.h>"
【讨论】:
抱歉,我犯了一个错误,我使用了:#import "SignalR.h" 并尝试:#import以上是关于Bridging-Header.h 文件和错误“使用未声明的类型...”的主要内容,如果未能解决你的问题,请参考以下文章
XCode 7.3 破坏了 Bridging-Header.h?
将 CocoaPods 更新到 0.36.x 及以上版本后如何引用 Bridging-Header.h 中的头文件?
将 CocoaPods 更新到 0.36.x 及以上版本后如何引用 Bridging-Header.h 中的头文件?