gpt4 book ai didi

ios - 用两个字符串生成和读取二维码

转载 作者:行者123 更新时间:2023-12-01 16:06:34 25 4
gpt4 key购买 nike

有什么办法可以在我的二维码中添加一个额外的字符串?

我正在尝试使用键传递两个字符串(在我的情况下都需要)。

所以我的 QR 码应该包含用于编辑 Firestore 值的身份验证 ID 和文档 ID,但实际上找不到这样做的好方法。

    func generateQR(){
let authId = Auth.auth().currentUser?.uid

if let myString = docID{
let data = myString.data(using: .ascii, allowLossyConversion: false)

let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")

let ciImage = filter?.outputImage

let transform = CGAffineTransform(scaleX: 10, y: 10)
let transformImage = (ciImage?.transformed(by: transform))

let image = UIImage(ciImage: transformImage!)

qrView.image = image
}
}

在这里,我正在生成我的 QR 码,正如您在 atm 中看到的,我只有“数据”,即文档 ID。

所以现在,不知何故我需要添加一个应该包含“authId”的附加 key ,无论如何要这样做吗?

读取二维码消息功能
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
if metadataObjects != nil && metadataObjects.count != 0{
if let object = metadataObjects[0] as? AVMetadataMachineReadableCodeObject{
if object.type == AVMetadataObject.ObjectType.qr{

let arr = object.stringValue!.components(separatedBy:",")
let docId = arr.first!
let authId = arr[1]

let alert = UIAlertController.init(title: "QR Code", message: "Vill du använda denna QR koden?", preferredStyle: .alert)

alert.addAction(UIAlertAction.init(title: "Ny", style: .cancel, handler: nil))

alert.addAction(UIAlertAction.init(title: "Använd", style: .default, handler: { (nil) in

self.removeDiscountFromFirestore(documentId: docId, authentication: authId)
}))

self.present(alert, animated: true)
}
}
}
}

那么如何在我的二维码中传递 2 个字符串呢?提前致谢。

在 Sh_Khan 的输入之后,我设法传递了数据,但它们成为可选的,不能用“!”强制。所以我通过添加来解决这个问题
 let data = "\(String(describing: docID!)),\(authId!)".data(using: .ascii, allowLossyConversion: false)

我在哪里生成二维码。

最佳答案

您可以尝试使用 , 来连接它们。

 let data = "\(docId),\(authId)".data(using: .ascii, allowLossyConversion: false)

当你阅读二维码时,将它们分开
 let arr = object.stringValue!.components(separatedBy:",")  
let docId = arr.first!
let authId = arr[1]

关于ios - 用两个字符串生成和读取二维码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com