如何可靠地确定Passbook是否可用?

DEA*_*0CC 5 ipad ios passbook passkit ios8

Apple在Passkit中提供了一种专用方法来确定PassLibrary是否可用:

[PKPassLibrary isPassLibraryAvailable]
Run Code Online (Sandbox Code Playgroud)

这在iPhone和iPad上按预期工作,YES但有一个例外:iPad Air 2返回,但它似乎不支持任何添加通行证的UI.调用

[[PKAddPassesViewController alloc] initWithPass:aValidPass]
Run Code Online (Sandbox Code Playgroud)

回报nil.

是否有任何选项可以可靠地检查PassLibrary,包括UI,是否可以预先没有通行证?

DEA*_*0CC 7

来自isPassLibraryAvailable

请勿使用此方法确定用户是否可以在此设备上添加传递.设备可能有通行证库,但仍无法添加通行证.请改用PKAddPassesViewController类的canAddPasses()方法.

你应该使用PKAddPassesViewController它,它返回设备是否支持添加传递.

[PKAddPassesViewController canAddPasses]
Run Code Online (Sandbox Code Playgroud)

从iOS8开始