Ios Swift桥接头和Obj-C类的可见性

Ios Swift桥接头和Obj-C类的可见性,ios,objective-c,swift,xcode6,bridging-header,Ios,Objective C,Swift,Xcode6,Bridging Header,我已经添加了桥接头,在构建设置中指定了它的完整路径,桥接头是自动创建的。在此之后,我将我的obj-c头文件包括在其中。但每次调用对象构造函数的尝试都失败:“使用未声明的标识符”。 我做过的事情清单: 已创建.m文件,建议使用Xcode创建桥接头 将obj-c文件添加到项目中,并在标题中导入它们 内置设置提供了桥接头文件的完整路径 代码中使用了Obj-C类型。。。但它不能建立 然后,我提供的不是标题的完整路径,而是项目所在文件夹的路径-无结果 根据苹果的文档,我仔细检查了所有步骤,但没有结果。

我已经添加了桥接头,在构建设置中指定了它的完整路径,桥接头是自动创建的。在此之后,我将我的obj-c头文件包括在其中。但每次调用对象构造函数的尝试都失败:“使用未声明的标识符”。

我做过的事情清单:

  • 已创建.m文件,建议使用Xcode创建桥接头
  • 将obj-c文件添加到项目中,并在标题中导入它们
  • 内置设置提供了桥接头文件的完整路径
  • 代码中使用了Obj-C类型。。。但它不能建立
  • 然后,我提供的不是标题的完整路径,而是项目所在文件夹的路径-无结果
  • 根据苹果的文档,我仔细检查了所有步骤,但没有结果。
    为什么?任何帮助都将不胜感激。

    好吧,在创建了一个带有桥接头的测试项目之后,我发现了以下几点:

    @interface BL_KeyChainWrapper : BaseClass
    
  • 我添加了.m文件,Xcode建议我创建桥接头

  • 我添加了.h文件,将其命名为class,并以这种方式创建了Obj-C类

  • 以及:

    内部版本设置-代码生成部分如下所示:

    桥接文件位于以下路径:

    ProjName/BridgHeader.h

    与.xcodeproj文件处于同一级别

    但是:

    当我将已经创建的Obj-C类添加到项目中并在桥接头中添加头导入时,我无法使用它:

    所以,我猜Xcode 6 beta 2无法将现有文件添加到swift项目中。有人遇到过这样的麻烦吗?因为我不想粘贴所有现有的库,我花了5年的时间来创建文件

    附言:

    桥接头:

    按照以下步骤操作:

  • 创建Swift项目
  • 将测试类分别添加为Cocoa类,而不是.m和.h。Xcode提示添加桥接头
  • 在桥接标头中导入测试类标头,您已经这样做了。在Swift中实例化测试类应该没有问题
  • 将BL_KeyChainWrapper.m和.h复制到finder中的项目目录
  • 将BL_KeyChainWrapper文件拖动到项目中,并确保添加到目标中
  • 在桥接标头中导入BL_KeyChainWrapper标头
  • 在Swift中实例化BL_KeyChainWrapper类
  • 如果按照以上步骤操作,仍有错误。可能您没有在BL_KeyChainWrapper.h中声明名为BL_KeyChainWrapper的类。确保在BL_KeyChainWrapper.h中有如下代码:

    @interface BL_KeyChainWrapper : BaseClass
    

    你会犯什么错误?在将Obj-C类头添加到桥接头之后,您应该能够初始化一个Obj-C对象,然后像普通一样使用它的方法。您不需要在构建设置中使用完整路径,因为相关路径应该可以正常工作。我敢打赌,在那里的某个地方你有一个路径错误。发布代码会帮助我们。我编辑了应答运行终端,运行cat“你的桥接头路径”,这会打印任何东西吗?还有,为什么不尝试创建一个新的测试项目,重新开始所有步骤,看看缺少什么?是的,它包含导入“Bl_KeyChainNativeWrapper.h”这是真的,Tim Cook不会说得更正确+问题就在这里——“可能是你没有在BL_KeyChainWrapper.h中声明一个名为BL_KeyChainWrapper的类。确保在BL_KeyChainWrapper.h中,你有如下代码:“Gettin olda,各位(感谢帮助!尝试创建一个新的空白Objective C类,看看它是否允许你使用它。