我尝试使用 vCard 作为Apple Wallet中QR或条形码的内容。我已经能够对内容进行编码,但QR码不可读-我相信这是因为我无法提前正确准备/格式化数据。
当我使用PHP时,这不是一个特定于语言的问题。
以下是我使用的vCard示例:
BEGIN:VCARD
VERSION:3.0
REV:2023-11-08T00:00:00Z
N:Murphy;Jill;;;
ORG:Company
TITLE:Developer
EMAIL;INTERNET;WORK:[email protected]
URL:https://example.com
END:VCARD
字符串
在Apple的Wallet format中,barcode data以JSON格式指定:
"barcode": {
"format": "PKBarcodeFormatQR",
"message": "VCARD_DATA_HERE",
"messageEncoding": "iso-8859-1"
},
型
我尝试了以下几种组合:
1.直接传入vCard文本
1.使用“\n
“分隔符将vCard数据连接到一行中
1.使用urlencode
(PHP)
1.所有上述与苹果的各种支持的条形码格式
这些格式是:PKBarcodeQR、PKBarcodeQR PDF 417、PKBarcodeQR Aztec和PKBarcodeQR Code 128
我知道我可以托管一个 vCard,只是有一个URL的条形码,但我故意去一个独立的版本。
任何人都可以提供指导,如何格式化 vCard 文本之前,我把它变成pass.json
,使它允许一个可读的条形码?
1条答案
按热度按时间xa9qqrwz1#
经过进一步的尝试和错误,我偶然发现了答案。这是如何准备数据。我一直在用错误的分隔符连接 vCard 的每一行。
我应该一直使用“
\n\r
“,在我的情况下,一旦转义将是“\\r\\n
“。字符串
在我的
pass.json
for Apple Wallet中,相关的JSON片段看起来像这样:型