Which Passes How to Access in Apple Wallet

Which passes can I access in Apple Wallet

The simple answer is "No, Your app cannot access passes that it did not create"; this would be a potential privacy violation.

The more detailed answer is that your app can access passes it did not create as long as the pass type identifiers are specified in the com.apple.developer.pass-type-identifiers entitlement for your app. The purpose of this entitlement is to allow one app to access passes created by another app from the same developer.

This entitlement can also allow an app to access passes that were added to the wallet through some other method; For example, an airline app could access a pass that was added to the wallet through checking in on the airline's web site.

The answer to the question in your title is "You can access passes that you created".

There is no request that an app can make that will result in a request to the user to allow general pass access.

is it possible to access other users passes from wallet app in ios

No this is not possible, every pass is signed with entitlements. Passes that you do not have the entitlements to will not returned.

PKPassLibrary passes methods in the documentation:

Your app only has access to certain passes, based on its entitlements.
Passes that your app doesn’t have access to are not returned.

Apple Wallet Event Pass

I think that first you should check PassKit documentation from Apple to understand correctly how it works(https://developer.apple.com/wallet/). Then maybe this webside could works for you: https://github.com/tschoffelen/php-pkpass

Can you control the order of passes while adding it to Apple Wallet?

There is no documentation or PassKit API which states in which order can passes appear in Wallet app.

It can only be done manually as stated here.

To reorder your passes, tap and hold a pass, then drag it to a new place. With iOS 7 or later, your change will update on all of your devices.

Using an Apple Wallet NFC Pass as an NFC tag

I don't think using NFC Passkit allows you to behave like a Mifare DESfire Tag, this seems very limited to "Reward Card information" it just provides some extra info to a card reader that knows how to send Apple's Value Added Services Protocol over NFC (Not all card readers/POS terminals can do this)

If you look at the Apple Doc's

https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/TopLevel.html#//apple_ref/doc/uid/TP40012026-CH2-DontLinkElementID_3

and

https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html#//apple_ref/doc/uid/TP40012026-CH3-SW5

You get to specify

message, string, Required. The payload to be transmitted to the Apple Pay terminal. Must be 64 bytes or less. Messages longer than 64 bytes are truncated by the system.

encryptionPublicKey, string, Optional. The public encryption key used by the Value Added Services protocol. Use a Base64 encoded X.509 SubjectPublicKeyInfo structure containing a ECDH public key for group P256.

So Contactless bank cards conform the the NFC Forums Type 4 Specification, the Type 4 specification is low level and defines a method interact with a Higher level protocol beginning with the selection of an AID (Application ID), how you interact act with the card after the AID selection is up to each Application Specification.

So Banks, Visa, MasterCard, etc and the NDEF Standard all have their own AID numbers, so I guess that Apple also have an AID for their Value Added Services Protocol.

A Mifare DESFire tag is also a NFC Forums Type 4 Tag and can be programmed to respond to the NDEF AID and other custom AID's though I'm not sure it can be programmed to be able to respond to the AID used for Bank cards or to respond to Apple's Value Added Services Protocol.

So in General this Apple NFC feature allows you to provide some extra info to Apple Pay's Wallet App so it responds with some extra custom information to a NFC reader that conforms to Apple's Pay standards. So very restrictive in what it can do.

Whereas the Mifare DESFire tag is a much more flexible implementation of the lower level NFC standards.



Related Topics



Leave a reply



Submit