我目前正在阅读:https://developer.apple.com/library/content/content/documentation/userexperience/userexperience conceptual/conceptual/passkit_pg/updating.html#/TP40012195-CH5-SW1
它说通知通知的设备寄存器,但这仅在通行证最初安装后才发生(并且它是由AppleWallet自动发生的)。
我的问题是,如何给用户初始自定义通行证?例如:用户打开我的应用程序,点击"添加到钱包"按钮。它应该在该用户特定的服务器端生成通行证并安装它,或者应该在带有通用字段的本地通行证上安装,然后将其安装,钱包将自动下载最新的通行证?
我之所
################
# FOR DEVELOPMENT PURPOSES ONLY
# This endpoint is to allow developers to download a pass.
#
# NOTE: This endpoint is not part of the offical API and does not implement
# authentication/authorization controls and should only be used for development.
# Please protect your user's data.
#
get "/pass.pkpass" do
redirect "/sample.pkpass"
end
get "/:serial_number.pkpass" do
# Retrieve pass file
pass_output_path = File.dirname(File.expand_path(__FILE__)) + "/data/passes/#{params[:serial_number]}.pkpass"
# Send the pass file
send_file(pass_output_path, :type => :pkpass)
end
###
# End of development only endpoint.
###############
因此,除了注册电话中,您似乎不应该下载到设备上的通行证吗?还是我读错了?
如果您的服务器已经提供了通行证,则最好的方法是使用PKPass(data:error:)
,其中data
是您自己的应用程序中下载的通行证文件。这样,您将其创建仅在一个地方集中,从而最大程度地减少了可能的不匹配信息。
之后,您可以使用两种方法在设备上安装通行证:
-
PKAddPassesViewController(passes:)
如果要向用户提供视觉反馈,或者 -
PKPassLibrary.addPasses(_:withCompletionHandler:)
如果要自动安装它们。