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

我已经完成的事情 list :

  • 创建了.m文件,并建议使用Xcode创建桥接头
  • 将obj-c文件添加到项目中,并将其导入到头文件
  • 在build设置中提供了桥接头文件
  • 的完整路径


  • 在代码中使用了Obj-C类型...但未构建。
  • 然后,我没有提供标题的完整路径,而是提供了项目所在文件夹的路径-没有结果。

  • 我根据Apple文档仔细检查了所有步骤,但没有结果。
    为什么?任何帮助,将不胜感激。

    最佳答案

    按着这些次序:

  • 创建一个Swift项目
  • 将测试类添加为 cocoa 类,而不是分别添加.m和.h。 Xcode提示添加桥接头。
  • 已将测试类 header 导入桥接 header 中。在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
    

    关于ios - Swift桥接标题和Obj-C类的可见性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24468514/

    10-10 20:43