Apple Wallet Issuer Extension

I am working on a project where it needs to implement wallet extension to add cards from Apple wallet. I am stuck in the flow where app is not getting displayed in wallet while trying to add. Any sample implementation available? Any help would be much appreciated

Post not yet marked as solved Up vote post of anandhurnair Down vote post of anandhurnair
709 views

Replies

Hey, did you managed to solve it? I have also created non-ui and ui extension, but i am stuck where the app is not getting displayed in the apple wallet. Is there any tutorial that I could follow?

I managed to make it work. There are few key points to follow:

  • Make sure that you have correct values in info.plist in Non-UI and UI extension (NSExtensionPointIdentifier, NSExtensionPrincipalClass)
  • Make sure you have com.apple.developer.payment-pass-provisioning entitlement for your app and both extensions
  • Make sure that your function func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) inside Non-UI extension executes in under 100ms. The extension is not displayed to the user in Wallet if this criteria is not met.
  • Make sure that in your function func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) the object PKIssuerProvisioningExtensionStatus has remotePassEntriesAvailable or passEntriesAvailable set to true (if there are no cards to add to the wallet, your app won't be displayed).

For the purpose of trying it out inside your Non-UI extension just implement status function like that:

    override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) {
        let status = PKIssuerProvisioningExtensionStatus()
        status.remotePassEntriesAvailable = true
        status.passEntriesAvailable = true
        status.requiresAuthentication = false
        completion(status)
   }

I hope it helps :)

  • But it didn't help :-) . Did you find any manuals on this process?

Add a Comment