购票后,我正在生成QR码。我想将这些QR码存储到Apple Wallet。
我使用过ionic-native apple-wallet plugin,但是the documentation并未提供足够的信息来说明如何将QR图像存储在苹果钱包中。
import { AppleWallet } from '@ionic-native/apple-wallet/ngx';
this.appleWallet.isAvailable()
.then((res: boolean) => {
Expect res to be boolean
})
.catch((err) => {
Catch {{err}} here
});
该文档可添加/删除卡,但没有有关向Apple Wallet添加QR的文档。
答案 0 :(得分:1)
您确实意识到,要创建有效的Apple Wallet Pass,需要创建一个包,然后对其进行签名,压缩和分发?
This link to apple dev docs将有助于获得对该过程的基本了解。 根据{{3}}的考虑,不要直接在应用中创建通行证。
我们遇到了与您类似的问题-我们有Ionic应用程序来销售车票,我们想在iOS上添加将车票添加到电子钱包的功能。
我所做的所有研究似乎都表明当前(2019年12月)无法完成。
它涉及到在系统浏览器中从外部打开链接,因此可能会发现此解决方案不合适。
Content-Type: application/vnd.apple.pkpass
Content-Disposition: attachment;filename=your_file_name.pkpass
ionic cordova plugin add cordova-plugin-inappbrowser
npm install @ionic-native/in-app-browser
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
@NgModule({
...
providers: [
...
InAppBrowser
],
})
export class AppModule {}
InAppBrowser
并调用方法create
,第二个参数(目标)为_system
。此命令将打开带有提供的URL的外部本机设备浏览器。如果端点配置正确,浏览器将自动开始下载,然后显示给用户界面,以将票证/通行证添加到电子钱包。这是一个很好的UI示例:In App Browser constructor(private inAppBrowser: InAppBrowser) {
}
downloadApplePass(ticket) {
const url = `https://your.api/endpoint/${ticket.id}`;
this.inAppBrowser.create(url, '_system');
}
答案 1 :(得分:0)
您所指的插件似乎不是为此目的而设计的。
文档顶部说,它适用于信用卡/借记卡:
此插件提供了将您的信用卡/借记卡添加到Apple Wallet的支持。它还可以检查电子钱包或任何配对设备中是否存在信用卡/借记卡,例如苹果手表
查看Apple Wallet文档,它使用特定的类PKPaymentPass
来管理卡,而票证则由不同的类处理:
查看您正在使用的本机插件的源代码,这向我显示,每次使用PKPass
时,它都会将其强制转换为PKPaymentPass
,因此看起来好像不是文档问题,只是不支持。
可以在此处查看IOS代码:
不幸的是,除非您想自己编写代码,否则您似乎不走运。
我已经进行了一些搜索,可以找到一些关于该主题的讨论,但是它们都是无处可寻的话题。