Apple Wallet extension doubts

Hello, I have recently started exploring the Apple Wallet extension and have a couple of questions I was hoping you could help clarify:

  • Is there any form of communication between the UI extension and the non-UI extension? From my understanding, the UI extension handles the authorization and simply indicates whether the app approves it or not, without passing additional data. However, the non-UI extension is expected to make calls to the issuer app’s backend, which typically require a token obtained through prior authentication services and may even involve an OTP. Is there a recommended way to share this information between extensions within the Apple Wallet Extension framework, or is using App Groups the only option? Additionally, during the provisioning process, is there any possibility of re-invoking the UI extension if further validation is required?
  • Furthermore, according to the documentation, testing is carried out via TestFlight and in production. Is there any way to test these extensions on a physical device directly from Xcode for debugging purposes, or is TestFlight the only available method?

Thank you very much in advance for your time and assistance.

Answered by DTS Engineer in 893702022

Hi @Ladakh,

You wrote:

Is there any form of communication between the UI extension and the non-UI extension?

Yes, the UI extension handles the authentication flow, and the non-UI extension handles the out-of-process logic (status, confirmation, callback handling, etc.). Please see the resources below for more details:

Then, you wrote:

Is there any way to test these extensions on a physical device directly from Xcode for debugging purposes, or is TestFlight the only available method?

Yes, when approved for the managed entitlement, your issuer app (and extensions) will be configured for Development distribution to use with Xcode. Once you're ready to distribute via TestFlight or test production on the App Store, you'll need to contact the provisioning team again to begin the CERT verification process.

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Hi @Ladakh,

You wrote:

Is there any form of communication between the UI extension and the non-UI extension?

Yes, the UI extension handles the authentication flow, and the non-UI extension handles the out-of-process logic (status, confirmation, callback handling, etc.). Please see the resources below for more details:

Then, you wrote:

Is there any way to test these extensions on a physical device directly from Xcode for debugging purposes, or is TestFlight the only available method?

Yes, when approved for the managed entitlement, your issuer app (and extensions) will be configured for Development distribution to use with Xcode. Once you're ready to distribute via TestFlight or test production on the App Store, you'll need to contact the provisioning team again to begin the CERT verification process.

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Hi,

I have one question regarding communication between the UI Extension and the non-UI/DM extension.

If I need to share data between both extensions — for example, an authentication token that will later be used by services called from the DM extension — what would be the recommended approach to do this?

Should this be handled through App Groups/shared storage, shared Keychain, or is there another preferred mechanism for Wallet Extensions?

Thank you.

Apple Wallet extension doubts
 
 
Q