分发 Passkit 通行证
Distributing Passkit Passes
它说设备会注册通行证的推送通知,但这只会在通行证最初安装后发生(并且由 AppleWallet 自动发生)。
我的问题是,如何给用户初始定制通行证?
例如:用户打开我的应用程序,点击 "Add Pass to Wallet" 按钮。它应该在特定于该用户的服务器端生成一个通行证并安装它,还是应该有一个带有通用字段的本地通行证,安装它并且钱包会自动下载最新的通行证?
我问这一切是因为在 Apple 的服务器参考(写在 Ruby 中),他们有:
################
# 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.
###############
看来您不应该将通行证下载到设备上,除非是在注册电话中?还是我读错了?
如果您的服务器已经提供了 Pass 包,最好的方法是使用 PKPass(data:error:)
,其中 data
是在您自己的应用程序中下载的 Pass 文件。通过这种方式,您可以将其创建集中在一个地方,从而最大限度地减少可能的不匹配信息。
之后,您可以使用两种方法在设备上安装通行证:
PKAddPassesViewController(passes:)
如果您想向用户提供视觉反馈,或者
PKPassLibrary.addPasses(_:withCompletionHandler:)
如果你想自动安装它们。
它说设备会注册通行证的推送通知,但这只会在通行证最初安装后发生(并且由 AppleWallet 自动发生)。
我的问题是,如何给用户初始定制通行证? 例如:用户打开我的应用程序,点击 "Add Pass to Wallet" 按钮。它应该在特定于该用户的服务器端生成一个通行证并安装它,还是应该有一个带有通用字段的本地通行证,安装它并且钱包会自动下载最新的通行证?
我问这一切是因为在 Apple 的服务器参考(写在 Ruby 中),他们有:
################
# 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.
###############
看来您不应该将通行证下载到设备上,除非是在注册电话中?还是我读错了?
如果您的服务器已经提供了 Pass 包,最好的方法是使用 PKPass(data:error:)
,其中 data
是在您自己的应用程序中下载的 Pass 文件。通过这种方式,您可以将其创建集中在一个地方,从而最大限度地减少可能的不匹配信息。
之后,您可以使用两种方法在设备上安装通行证:
PKAddPassesViewController(passes:)
如果您想向用户提供视觉反馈,或者PKPassLibrary.addPasses(_:withCompletionHandler:)
如果你想自动安装它们。