2016-08-02 40 views
0

我目前使用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

您需要在後端或服務器上處理該問題。條形碼只是一個圖像。這取決於掃描條形碼來決定它的含義以及它是否有效等等, – Paulw11

回答

1

爲了使條形碼僅掃描一次的代碼,你將不得不使用一個跟蹤所有的條形碼的服務器。基本流程可能是這樣的:

  1. 使用某個UUID在應用程序中生成條形碼並將其註冊到服務器。
  2. 當您掃描應用程序中的條形碼時,如果該UUID已被使用,則爲服務器
  3. 如果它已被使用,請告知掃描儀它是無效的。否則,請告訴掃描器它是有效的,並且服務器應該將UUID標記爲已被使用。

這一切都依賴於應用程序的掃描部分 - 條碼本身無法知道它是否已被掃描,除非掃描儀警告服務器。

+0

太棒了!非常感謝你 –