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.
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:
- Apple Pay Demo: In-App Provisioning
- Apple Pay Demo: In-App Provisioning Extension
- Implementing Wallet Extensions
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