swift frameworks xcode6 zbar

Cómo importar Zbar Framework en Swift Project



frameworks xcode6 (3)

Tengo este proyecto

Usando cocoapods para importar el proyecto ZBarSDK al Swift 2.0.

Tengo un proyecto y actualmente estoy tratando de convertirlo al proyecto Swift, pero no pude entender cómo presentar un lector de código de barras Zbar que escanea desde la alimentación de la cámara. En mi proyecto actual llamé así

- (IBAction)scanButton:(id)sender { // ADD: present a barcode reader that scans from the camera feed ZBarReaderViewController *reader = [ZBarReaderViewController new]; reader.readerDelegate = self; reader.supportedOrientationsMask = ZBarOrientationMaskAll; ZBarImageScanner *scanner = reader.scanner; // TODO: (optional) additional reader configuration here // EXAMPLE: disable rarely used I2/5 to improve performance [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; // present and release the controller [self presentViewController:reader animated:YES completion:nil];}

Nota: Lo que hice hasta ahora

  1. Copie el marco en el veloz
  2. Se agregó una ruta de marco a las Rutas de Búsqueda de Cabecera (Sección de Objetivos> Configuraciones de Construcción)

    • $ (PROJECT_DIR) / Test / ZBarSDK / Headers / ZBarSDK
    • Creado Projectname-Bridging-Header.h para Bridging (se agregaron todos los archivos h de zbar)
    • Se agregó Projectname-Bridging-Header.h a las rutas de búsqueda de encabezado

Después de eso, si escribo "import ZBarSDK" o ZBarReaderDelegate todavía me da error!


para Swift 3:

extension ZBarSymbolSet: Sequence { public func makeIterator() -> NSFastEnumerationIterator { return NSFastEnumerationIterator(self) } } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { // ADD: get the decode results let results: NSFastEnumeration = info[ZBarReaderControllerResults] as! NSFastEnumeration var symbolFound : ZBarSymbol? for symbol in results as! ZBarSymbolSet { symbolFound = symbol as? ZBarSymbol break } let resultString = symbolFound!.data print(resultString) }


Aquí está la solución

El siguiente enlace me ayudó https://.com/a/24005242/4059179

Pero después de eso tuve el problema de NSEnumeration así que aquí la solución del segundo problema

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){ var results: NSFastEnumeration = info[ZBarReaderControllerResults] as NSFastEnumeration }

No te olvides de extender

extension ZBarSymbolSet: SequenceType { public func generate() -> NSFastGenerator { return NSFastGenerator(self) } }