Apple Wallet not updating pass with push

Hello!


The APNs servers accept my push request but device never attempts to update the affected passes. If I open the pass and manually refresh, it does update from the webservice. It seems as if the device either never gets the push or it gets the push but doesn't request the list of associated passes from the webservice. I'm using iOS 11.2.6 on iPhone 7 Plus.


Has anyone else see this issue, what was the solution?


Thanks,

Andrew

Replies

Have you inspected what the "Getting the Serial Numbers for Passes Associated with a Device" endpoint is reporting?


From what I understand, the sequence that occurs is:


  1. Server sends a push to APNS
  2. Wallet (on the target device) determines which pass to use and hits: webServiceURL
    /
    version
    /devices/
    deviceLibraryIdentifier
    /registrations/
    passTypeIdentifier
    ?passesUpdatedSince=
    tag
  3. The "Serial Numbers for Passes Associated with a Device" endpoint is supposed to return JSON with lastUpdated (string) and serialNumbers (array of strings)
  4. Wallet uses the response to determine if it actually needs to continue -- that is, if the lastUpdated value is newer than the on-device pass
  5. If yes, it hits: webServiceURL/version/passes/passTypeIdentifier/serialNumber
  6. The "Latest Version of a Pass" endpoint is supposed to return the pkpass data


If the resonse of Step 3 is malformed, then (obviously) Wallet would never get to Steps 4 / 5 / 6