- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经看过一些关于这个主题的主题,但还没有找到答案:
Safari 无法打开我作为电子邮件附件发送的 .pkpass 文件
起初我认为这可能与我的设置有关,但后来我发现我也无法从该网站打开示例 .pkpass http://www.tomttb.com/test/pass/full_sample/
我的文件和示例文件都将内容类型设置为 应用程序/vnd.apple.pkpass
在 Android 上,我使用的是 PassWallet 应用程序,可以下载 .pkpass 并将其添加到存折中。
有什么想法吗?
最佳答案
查看您的 .pkpass 包后,您的问题是您的 pass.json
文件包含无效的 JSON。
尝试添加通行证时,设备控制台日志显示以下内容:
Feb 12 00:31:58 pfr MobileSafari[236] <Warning>: Invalid data error reading pass
/var/mobile/Applications/AF19C13B-113D-44B9-9067-1228253C82ED/Library/Caches/com.apple.mobilesafari/com.apple.Passbook/5BE44BA0-7E7F-4DFA-92ED-D5E41A984F82.pkpass/pass.json.
Could not read json from URL file:///var/mobile/Applications/AF19C13B-113D-44B9-9067-1228253C82ED/Library/Caches/com.apple.mobilesafari/com.apple.Passbook/5BE44BA0-7E7F-4DFA-92ED-D5E41A984F82.pkpass/pass.json:
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
(Badly formed object around character 221.) UserInfo=0x148cca010 {NSDebugDescription=Badly formed object around character 221.}
后面加一个逗号:
"foregroundColor": "rgb(255,111,15)"
并更改 key :
"description" : '"totally cool party"',
到:
"description" : "\"totally cool party\"",
然后重新编译您的 .pkpass 包,您应该就可以了。
** 更新 **
您的 pass 现在失败了,因为您在需要整数时为 formatVersion
键设置了一个字符串。
Feb 12 11:04:22 pfr MobileSafari[1825] <Warning>: Invalid data error reading pass pass.com.ticketino/2677326. Value for key 'formatVersion' must be of class NSNumber, but is actually of class __NSCFString.
Feb 12 11:04:22 pfr MobileSafari[1825] <Warning>: PassBook Pass download failed: The pass cannot be read because it isn’t valid
更改 key :
"formatVersion": "1",
收件人:
"formatVersion":1,
此外,您的相关日期似乎不在 ISO8061 format 中,这也会导致通行证被拒绝。
要修复,请将 relevantDate
键更改为:
"relevantDate" : "2014-02-28T12:00:00Z",
至于如何诊断这些问题,只需将手机连接到运行 Xcode 的 Mac 并从管理器窗口监控设备控制台。如果您需要更多详细信息,可以从设备上的开发人员设置菜单中启用附加存折日志记录。
** 更新 2 **
现在您的传递失败了,因为 webServiceURL
是一个安全的 URL。对于生产过程,您的 Passbook Web 服务必须通过 https
提供。
如果您的设备配置为开发,那么您可以通过激活“开发者设置”菜单的 Passkit 测试部分中的“允许 HTTP 服务”选项来绕过此设置。
此外,您的通行证不包含 authenticationToken
key 。在指定 webServiceURL
( Read the Passbook Web Service Manual! )
在不访问 Xcode 的情况下调试 Passbook 将是极其棘手的,如果不是不可能的话。建议购买 Mac,或使用多种方式之一来 Virualise Mac OSX或 run Mac OSX on PC Hardware.
** 更新 3 **
Feb 12 23:21:36 pfr MobileSafari[225] <Warning>: Invalid data error reading pass pass.com.ticketino/2678239. Unable to parse relevantDate 28-05-2014T12:00:00Z as a date. We expect dates in "W3C date time stamp format", either "Complete date plus hours and minutes" or "Complete date plus hours, minutes and seconds". For example, 1980-05-07T10:30-05:00.
Feb 12 23:21:36 pfr MobileSafari[225] <Warning>: PassBook Pass download failed: The pass cannot be read because it isn’t valid.
您的 relevantDate
key 仍然不是有效的 ISO8601 日期!
要修复,请将 relevantDate
键更改为:
"relevantDate" : "2014-05-28T12:00:00Z",
关于ios - safari ios 无法打开存折 pkpass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705439/
我按照Apple的建议执行了所有步骤,以创建一个存折,但是每当我使用signpass工具(由Apple提供)对通行证包进行签名时,我都会收到“在通行证中找不到passTypeIdentifier”的任
Apple pass 存折: 我已经实现了通行证本身,并希望就更新等进行沟通。对于服务器端(webserviceUrl),我正在使用我调整过的下面的代码。我对 PHP 不是很有经验,所以任何帮助都会很
我正在使用passkit创建一个通行证. Pass 无法在 iPhone 上打开。当您在 Mac 上打开通行证时,条形码下方会写着“卡已过期”。通行证存储卡的类型。 十月中旬收到开发者证书。可能是什么
全部,我一直在阅读 Apple 文档,并且找到了显示通行证位和更改应用程序通行证的信息。但是有没有办法将 .pass zip 存储在 XCODE 中并显示在弹出 View Controller 中?
我正在尝试建立一个网络服务来将折扣信息推送给最终用户。我的问题是,我知道我们可以通过我自己的应用推送优惠券,但是有什么方法可以避免最终用户安装我们的应用吗?有什么可能的方法,我们只使用网络服务从我们的
尝试打开通行证的 passURL 时存折出现问题,如下所示: PKPass *pass = ..... [[UIApplication sharedApplication] openURL:[pass
我目前正在研究 wallt/passbook 的功能,有一件事让我苦恼:“通知”。 有没有什么方法可以使用存折实时推送消息到锁屏?如果我检查已安装的多个通行证(单击信息图标),它会建议打开实时更新和通
我想在 JSON 文件中存储隐藏值,这些值不会显示在存折中,但可以在我像这样加载我的通行证后从我的应用程序访问: [_pass localizedValueForFieldKey:@"hidden_f
我正在使用存折,并且有一些输入值,如下所示: { "key" : "terms", "label" : "terms_contions", "value" : "1.aaaaa
我正在构建一个与 Passbook 应用程序相关的应用程序。基本上,我正在生成机票的登机牌并将其添加到 Passbook 中。那部分工作正常。但是,我想从我的应用程序打开 Passbook 应用程序以
在我的 mvc FileContentResult 操作中,我像这样返回我的存折传递文件:return new FileContentResult(generatedPass, "applicatio
我们在 .net 中有银行项目。在那个项目中我们需要实现存折打印。 - 存折背面会有磁条。 - 当客户将存折插入自助服务终端时,自助服务终端将生成 ISO 8583 信息。 - 为响应此消息,CBS(
这个问题与 Passbook 有关,在接下来的几天内处于 NDA 之下,但这是一个通用的 PKCS7 问题。 我有一个从我的钥匙串(keychain)中导出的 .p12 文件。我可以使用以下命令将其分
我是一名优秀的程序员,十分优秀!