我目前正在尝试安装使用 WalletPasses.io 制作的通行证,但出现了一个奇怪的错误:
/Users/nsmyself/Library/Developer/CoreSimulator/Devices/A47FAFCC-2628-455B-84D2-8ED2CC3E4400/data/Containers/Data/Application/09D67CB1-7CFB-423E-8E6D-E43A8D9C3DD6/Library/Caches/com.companyname.appname.dev/com.apple.Passbook/9C988AD8-F541-478E-BDC4-DAD1949C8616.pkpass/pass.json.
The file “pass.json” couldn’t be opened because there is no such file.
下面是pass的内部结构:
➜ pass ls -lah
total 64
drwx------@ 8 nsmyself staff 272B Jul 28 03:04 .
drwx------+ 48 nsmyself staff 1.6K Jul 28 03:45 ..
-rw-------@ 1 nsmyself staff 577B Jul 28 02:58 icon.png
-rw-r--r--@ 1 nsmyself staff 750B Jul 28 02:57 icon@2x.png
-rw-r--r--@ 1 nsmyself staff 753B Jul 28 02:57 icon@3x.png
-rwxr-xr-x@ 1 nsmyself staff 63B Jul 26 16:14 manifest.json
-rwxr-xr-x@ 1 nsmyself staff 1.5K Jul 28 03:44 pass.json
-rwxr-xr-x@ 1 nsmyself staff 3.0K Jul 26 16:14 signature
最后,它的 pass.json 文件的内容:
{
"passTypeIdentifier": "pass.com.companyname.appname.dev",
"formatVersion": 1,
"serialNumber": "121212",
"description": "Test pass",
"organizationName": "companyname",
"teamIdentifier": "XXXXXXXXXX",
"logoText": "Test Pass",
"backgroundColor": "rgb(89,174,45)",
"labelColor": "rgb(0,0,0)",
"generic": {
"headerFields": [],
"primaryFields": [],
"secondaryFields": [],
"auxiliaryFields": [],
"backFields": []
}
}
这是 manifest.json 文件的内容:
{
"pass.json": "829afd2a05dfc6b3ef47e1fb0e5deb67e705e82e"
}
我尝试过以编程方式添加通行证,也尝试将通行证拖放到 iOS 模拟器,但我一直收到同样的错误。
我回溯了控制台日志指示的文件夹层次结构,似乎该com.apple.Passbook
文件夹为空,因此找不到 pass.json 是有道理的。
因此,百万美元的问题是为什么该文件夹首先是空的。
我还应该指出,原始通行证根本没有图标。日志立即显示它,在添加丢失的(虚拟)图标后,我一直在尝试在模拟器中安装此通行证。
生成此通行证的负责人目前正在休假,因此我没有关于如何创建此通行证的详细信息。
Apple 的文档和 Google 的文档都没有特别有用。有什么想法吗?