Scan qrcode und Barcode von Kamera und Bild, die in swift @ aus der Bildbibliothek ausgewählt wurd
Ich bin ein Neuling mit Ios. Ich lerne schnell und übersehen Objekt c.
erzeit schreibe ich eine Demo mit Swift und Xcode 6.1, die QR-Code und Barcode von der Kamera oder ein Bild aus der Bildbibliothek scannen kan
ch weiß, dass das AVFoundation-Framework das Scannen von QR-Code und Barcode unterstützt, aber es kann nur von einer Kamera aus gescannt werde
Ich habe zbarSDK gesucht und gefunden, das den Scan-Code von Kamera und Bild unterstützt. Ich mache als Anweisungen inhttp: //zbar.sourceforge.net/iphone/sdkdoc undNSFastEnumeration in Swift (Code in Swift umwandeln). Wenn ich jedoch eine App starte, nachdem ich ein Bild aus der Bibliothek ausgewählt habe, tritt ein Fehler auf.
Das ist mein Code
import UIKit
import AVFoundation
extension ZBarSymbolSet: SequenceType {
public func generate() -> NSFastGenerator {
return NSFastGenerator(self)
}
}
class FirstViewController: UIViewController, ZBarReaderDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
let reader = ZBarReaderController()
@IBOutlet weak var lblResult: UILabel!
@IBOutlet weak var imgView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
reader.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func scanCode(sender: AnyObject) {
let scanner = reader.scanner
scanner.setSymbology(ZBAR_I25, config: ZBAR_CFG_ENABLE, to: 0)
reader.modalPresentationStyle = .Popover
presentViewController(reader, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
var results: NSFastEnumeration = info["ZBarReaderControllerResults"] as NSFastEnumeration
var symbolFound : ZBarSymbol?
// =============== Error here ==================
for symbol in results as ZBarSymbolSet {
symbolFound = symbol as? ZBarSymbol
break
}
var resultString = NSString(string: symbolFound!.data)
println(resultString)
}
}
hier ist Fehlerbild
Ich bin sehr dankbar, wenn jemand mich darüber informiert, warum ein Fehler aufgetreten ist und wie er behoben werden kann, oder wenn es eine Möglichkeit gibt, Code mit einem Bild mithilfe von AVFoundation oder einer anderen Bibliothek (mit ausführlichem Dokument und Beispiel) zu scannen, um dies zu tun (bitte ausführlich beschreiben) Anleitung, weil ich gerade Swift und iOS für 3 Wochen gelernt habe). Vielen Dank