Swift条形码生成,使条形码只扫描一次

时间:2016-08-02 20:35:22

标签: ios swift swift2 barcode core-image

我目前正在使用CoreImage过滤器在我的IOS应用程序中生成条形码,我想知道是否可以使条形码只扫描一次,因此在第一次扫描后它变得无效,类似于音乐会门票和机票。谢谢!

这是我用来创建条形码图像的代码

  let barCodeString =  self.eventsName + " " + self.userName + " " + "\(self.ticketRow)"
  let data = barCodeString.dataUsingEncoding(NSASCIIStringEncoding)
  let filter = CIFilter(name: "CIPDF417BarcodeGenerator")
  filter!.setValue(data, forKey: "inputMessage")
  let barcodeImage: UIImage = UIImage(CIImage: filter!.outputImage!)

1 个答案:

答案 0 :(得分:1)

要制作仅扫描一次的条形码,您必须使用能够跟踪所有条形码的服务器。基本流程可能是这样的:

  1. 使用一些UUID在您的应用中生成条形码,并将其注册到服务器。
  2. 当您扫描应用程序中的条形码时,如果已使用该UUID,则为服务器
  3. 如果已使用,请告诉扫描仪它无效。否则,告诉扫描仪它是否有效,服务器应将UUID标记为已使用。
  4. 这一切都依赖于应用程序的扫描部分 - 条形码本身无法知道它是否已被扫描,除非扫描仪警告服务器。