【问题标题】:Bridging-Header.h file and error "use undeclared types..."Bridging-Header.h 文件和错误“使用未声明的类型...”
【发布时间】: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
  • 所以应该是SignalrSignalR?
  • 对不起,我写的时候弄错了。我编辑帖子
  • 您是否尝试在您的 podfile 中指定 use_frameworks!
  • 你好。如果您解决了您的问题,您可以选择(“接受”)一个对您有帮助的答案,或者自己添加一个答案 - 但请不要修改问题。谢谢!

标签: ios objective-c xcode swift bridging-header


【解决方案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 但它不起作用
    • 转到快速编译器代码生成并检查您的桥接头文件...并在您的 Xcode 中拍摄您的桥接头文件并上传到此处...所以我会得到您的实际问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多