我正在处理一个iOS项目,该项目以条形码显示客户编号。我已经用CocoaPods安装了框架ZXingObjC,如GitHub中所述。

我可以毫无错误地编译我的项目。我也可以在我的Objective-C类中使用ZXingObjC类,而不会出现错误。之后,我将导入命令#import <ZXingObjC/ZXingObjC.h>添加到了我的桥接头文件中,就像其他自定义的Objective-c类一样,没有编译错误。 (我通过销毁一些导入语句使头文件头文件化,并导致未找到预期的文件异常。)

但是现在,我不能在swift类中使用任何ZXingObjC类。我只有以下编译错误:Use of undeclared type '...'。 Xcode自动完成功能也不起作用。

例如

var test : ZXMultiFormatWriter?
>> Use of undeclared type 'ZXMultiFormatWriter'

我试过了:
  • 设置新项目,相同问题
  • 检查 header 搜索路径:$(SRCROOT)/Pods/Headers/Public/Adjust
  • 重新安装了ZXingObjC框架
  • 检查了build设置:Enable Modules: YES
  • 检查了build设置:Other Linker Flags: $(inherited) -ObjC-framework "ZXingObjC"
  • 在构建阶段检查链接的二进制文件:框架已添加
  • 检查了桥接头文件中的import语句(#import<ZXingObjC/ZXingObjC.h>#import "ZXingObjC/ZXingObjC.h"-否
    差异)
  • Windows风格:重新启动Xcode和Mac ;-)

  • 我正在使用:
  • Xcode:6.3.2
  • CocoaPods:0.37.2
  • 项目部署目标:iOS 8.0
  • SDK:8.3

  • 有人知道这个问题吗?有人可以帮忙吗?
    如何使ZXingObjC框架 swift 可用?

    最佳答案

    实际上,这是一个简单的问题:

    播客文件

    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '8.0'
    use_frameworks!
    
    pod 'ZXingObjC', '~> 3.1'
    

    因此,在终端上:
    cd workspace
    pod install
    

    然后,在Xcode上打开项目后,您必须添加ZXingObj来编辑桥接头:
    #import <ZXingObjC/ZXingObjC.h>
    

    最后,在使用ZXingObjC的快捷类中,您必须导入ZXingObjC。
    import ZXingObjC
    
    class ZXingObjCWrapper {
    
        func encode() {
           let writer = ZXMultiFormatWriter.writer()
           ....
        }
    
    }
    

    09-26 06:28