我可以生成包含 URL 和文本值的二维码吗?
Can I generate a QR code that contains both URL and text values?
有人问过这个问题,但我问的不是同一件事。使用 iOS Swift,我试图在 QR 码中存储 2 个值。一个是商店中某个应用程序的 URL。另一个是该应用程序可以拾取的字符串(它有自己的扫描器,具有获取字符串值的逻辑)。第二部分工作正常,因为我可以轻松解析整个字符串。我尝试在值之间放置一个逗号,它几乎可以工作,但是当我使用通用扫描仪时,我收到一条 "Can't connect to the App Store" 消息。它拿起 URL 并尝试连接,但额外的数据似乎搞砸了。如果我去掉逗号和字符串,URL 就会起作用。
这是我的代码的一个子集...
override func viewDidLoad() {
super.viewDidLoad()
let payload = "https://apps.apple.com/ca/app/.../,<my string value>"
let image = generateQRCode(from: payload)
qrCodeImage.image = image
}
func generateQRCode(from string: String) -> UIImage? {
let data = string.data(using: String.Encoding.ascii)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 3, y: 3)
if let output = filter.outputImage?.transformed(by: transform) {
return UIImage(ciImage: output)
}
}
return nil
}
有谁知道这是否可能?例如我可以使用 json 或 vcard,还是通用扫描仪无法识别 URL?
您可以在 QR 码 URL 上添加您想要的数据作为查询参数,除非您附加到 URL 的数据存在隐私问题。
有人问过这个问题,但我问的不是同一件事。使用 iOS Swift,我试图在 QR 码中存储 2 个值。一个是商店中某个应用程序的 URL。另一个是该应用程序可以拾取的字符串(它有自己的扫描器,具有获取字符串值的逻辑)。第二部分工作正常,因为我可以轻松解析整个字符串。我尝试在值之间放置一个逗号,它几乎可以工作,但是当我使用通用扫描仪时,我收到一条 "Can't connect to the App Store" 消息。它拿起 URL 并尝试连接,但额外的数据似乎搞砸了。如果我去掉逗号和字符串,URL 就会起作用。
这是我的代码的一个子集...
override func viewDidLoad() {
super.viewDidLoad()
let payload = "https://apps.apple.com/ca/app/.../,<my string value>"
let image = generateQRCode(from: payload)
qrCodeImage.image = image
}
func generateQRCode(from string: String) -> UIImage? {
let data = string.data(using: String.Encoding.ascii)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 3, y: 3)
if let output = filter.outputImage?.transformed(by: transform) {
return UIImage(ciImage: output)
}
}
return nil
}
有谁知道这是否可能?例如我可以使用 json 或 vcard,还是通用扫描仪无法识别 URL?
您可以在 QR 码 URL 上添加您想要的数据作为查询参数,除非您附加到 URL 的数据存在隐私问题。