问题标签 [pkpass]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在java中动态创建pkpass文件?
我正在我的网站中集成 Apple 钱包功能。
据我了解,我们必须从 pass.json、signature 和 manifest.json...etc 创建 .pkpass 文件。但这是针对静态优惠券的,但我正在动态生成优惠券/通行证,并且希望也根据客户详细信息动态创建 .pkpass 文件。我将为不同的客户创建不同的优惠券,并应生成 .pkpass 文件。
如何才能做到这一点?如何在单击“添加到 Apple 钱包”按钮时为每一行动态创建 .pkpass 文件?有没有可用的第三方服务?
提前致谢
node.js - 无法将从 walletpass api 创建的通行证转换为数据
所以这就是我得到的:我创建了两个证书,一个 signerCertificate 和一个 signerKey 并将它们转换为 .pem 文件。它们工作,我可以在我的 Mac 终端上的控制台中签署通行证以创建 pkpass。所以证书有效,我需要将它添加到我的应用程序并编辑传递中的一些字段,所以我决定使用https://github.com/walletpass/pass-js来设置我的后端证书标牌。因此,我实施了所有必要的文档步骤,并且在您知道之前,我可以创建我认为是 pass bc 的内容,它会打印在我们的控制台日志中,如下面的代码所示。
所以这里是问题开始的地方。我正在尝试将传递数据返回到前端,如下所示。无论我从前端的文档返回什么变体,它都不会转换为 Data 或 NSData。那么我的目标是什么?我已经生成了通行证模板,它返回了某种通行证数据,但我坚持尝试将其转换为前端的数据,以使其成为可以在应用程序中为用户打开的 pkpass!我和我的同事已经尽我们所能来解决这个问题,但我们陷入了死胡同。
如果您有任何建议,请在下方留下。请参阅下面的所有附加屏幕截图和代码。
NODE JS Api 调用
前端代码
当前正在输出什么
前端控制台 (Xcode) 错误输出
后端控制台(服务器日志)只是单个呼叫 控制台服务器日志开始的整个日志的一小部分; 控制台服务器日志结束
顺便说一句,我也尝试了这两种情况,但它们仍然无法转换为要转换为 pkpass 的东西: 为 api 创建文件
当我在前端 Xcode 控制台中将返回的通行证打印为字符串时,我还想添加:任何它都会打印类似 [234434, 45549, 3828] 的内容。正如您所看到的,它看起来像是在生成一个通行证,因为控制台正在记录它,只是我无法将它转换为可以转换为 pkpass 的数据。我真的很感激任何帮助,谢谢你们!
ios - pkpass 文件在 Safari Mac 中打开但在 iPhone 上不打开
我成功创建了一个通行证,它在我的 MacBook Safari 浏览器上正常打开,但是,当我尝试在我的物理 iPhone 或模拟器上打开它时,看起来 safari 无法识别通行证文件。
在 Mac Safari 上它显示如下: 当我在 Mac Safari 上下载通行证时的外观快照
在 iPhone 或 Simulator Safari 上,它显示: Sanpshot of it look on iPhone or Simulator Safari
我检查了捆绑包中是否包含所有图像资产,并使用了正确的 mime 类型(application/vnd.apple.pkpass),我什至将其添加到了我的服务器 mime.types conf 文件中。
为了解决这个奇怪的问题,还有其他需要检查的东西。
请求和响应标头:
JS(Vue)代码:
PHP代码:
algorithm - 是否可以为多个用户自动创建 AppleWallet 和 AndroidWallet 的 .pkpass 文件?
根据我们拥有用户创建 .pkpass 文件所需的所有数据这一事实,遗漏的是:
.cer 文件(需要认证,转换为 .pem 文件和 private.key)
对于一群用户来说,需要自动创建 .pkpass 文件,这样每个人都可以通过点击在他的钱包中接收卡片。但是,如何为所有这些人提供多个 .certification?每个用户都需要一些身份验证吗?例如,我们可以从 Apple ID 网站接收 .cer 文件。
PS:请评论如何填写有关问题的详细信息。
node.js - 来自 nodejs 的 Apple 钱包更新卡从 api 重新转换为 api 请求
我已经实现了苹果钱包它的生成卡第一次工作正常,现在我试图将新的更改推送到现有卡。
当我发送新更改请求的推送通知时。我收到序列号请求,然后再次收到更新卡的 GET 请求。'/v1/passes/:passTypeIdentifie/:serialNumber'</p>
我正在使用第一次生成卡片的卡片生成 API 来提供新的更改。我不确定这个好主意,但有些它是如何不起作用的,也许我在 nodejs 中做得不对。
当我从浏览器发送请求时,它让我下载 myfile.pkpass 下载后我将 .pkpass 扩展名更改为 zip 它不起作用显示错误“无法打开文件 c:\myfile.zip 作为存档”看起来像
我没有正确打包 pkpass 文件
请帮我找到问题请参阅下面我附加的代码端点
我正在使用 nodejs restify
控制台输出:
android - 已颁发的 PKPass 文件的签名证书到期的后果
我目前正在探索使用 PKPass 文件在中/长期(几个月到几年)内向用户分发一些数据的可能性。
确定的潜在问题之一是 Apple 颁发的签名证书有效期为 1 年,出于技术原因,我宁愿避免在可能的情况下为每个新的签名证书更新已颁发的通行证。
我不清楚生成的 PKPass 文件在实践中意味着什么。从另一篇文章的这个答案中,我预计 PKPass 在签名证书到期时会自行失效,并以某种方式被钱包应用程序拒绝。但是在对生成的 PKPass 文件进行一些实验并将 iPhone 的系统日期设置为明显超出签名证书有效性的某个点之后,iPhone 似乎毫无问题地接受了 PKPass(重置系统日期后加载 PKPass 时的结果相同) ,或之前)。这与我的预期相反,我怀疑我错过了什么。
简而言之,问题是:签名证书过期对已发布的 PKPass 文件有什么影响?这些生成的文件是否仍可以加载并更新到钱包中(如果可以,持续多长时间),还是在签名证书到期时它们立即失效?
PS:这个问题主要针对iPhone上的官方钱包应用程序,但我也对有关Android同行的任何答案感兴趣。
certificate - Apple Keychain 没有要导出的私钥
我在 iMac 和 MacBook 上使用 KeyChain 创建了证书签名请求 (CSR) 文件。我已成功将 CSR 文件上传到 Apple 以生成 Pass Type ID 证书。我可以下载证书并将其安装到生成 CSR 文件的机器上。现在的问题是我无法导出证书和私钥,因为没有与证书关联的私钥!考虑到 CSR 文件来自这台机器,这很奇怪。
我遵循了 Apple 指南,他们没有提到这可能是一个问题,所以那里没有故障排除帮助。
我不知道这里出了什么问题,所以如果可以的话,请说明这一点。谢谢。
ios - IOS pkpass一次下载多个pass
所以我已经成功地pkpass
使用了下载按钮。但是,我正在寻找让您一次下载多个通行证的解决方案,例如多段票。
就是这样:https ://developer.apple.com/documentation/walletpasses/distributing_and_updating_a_pass
其中说:
提供一组通行证,使您的用户能够一次下载多个通行证。要创建通行证包: 创建一个 .zip 文件,其中包含作为包一部分的通行证的 .pkpass 文件。将 .zip 文件的扩展名更改为 .pkpasses。您可以像分发单个通行证一样分发通行证包。一束通行证的 MIME 类型是“application/vnd.apple.pkpasses”。
但我这样做了,它被视为通用文件下载,而不是用存折打开。有没有办法做到这一点?
ios - 在 .pkpass 的“值”中创建新行
我仍在寻找无法使用多行的问题的解决方案。我正在尝试在后场创建新线路,但没有什么比这更\n, \r\n or <br>
有效的了。有人可以帮忙吗?
c# - apns 推送通知和更新未到达
我在 c# asp.net 上的项目,对于苹果钱包 pkpass,注册和注销任务工作完美,当我调试工作 amazin 但是,当我尝试发送消息时,调试一切正常,但通知没有到达客户端(移动) 任何人都可以在这个问题上帮助我们吗?注意:正如他们在苹果文档中提到的那样。从 2021 年 3 月开始,他们将使用 tls12 和 http/2。我没明白 http/2 的意思