Despite signing out of my sandbox Apple ID and disabling Developer Mode, my Wallet still appears to be in sandbox mode, and I’m unable to add any real payment cards.
I have already tried the following steps:
Signed out of all sandbox and developer accounts
Turned off Developer Mode
Restarted the device
Reset all settings
Updated to the latest iOS version
Removed any configuration profiles
Unfortunately, none of these actions helped. The Wallet interface still displays “sandbox” and rejects real cards.
Wallet
RSS for tagDiscuss how to manage tickets, boarding passes, payment cards and other passes in the Wallet app.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi all,
I'm working on a use case where a customer checks in at a point of service (e.g., a cafeteria or restaurant) using their Apple Wallet pass (e.g., a digital employee badge).
In this scenario, we would like to use an iPhone (with a custom iOS app) as the NFC terminal to read the pass directly from the customer's iPhone over NFC.
I’m aware that "Tap to Pay on iPhone" allows NFC-based payment acceptance, but it’s unclear if similar functionality is available or permitted for reading access-type passes from another iPhone via NFC.
Key questions:
Is it technically possible for an iPhone to act as an NFC reader for a Wallet pass on another iPhone?
If not, is this restricted due to Secure Element isolation or protocol limitations?
Is there any Apple-supported path for building such a solution — or is certified external hardware (e.g., HID, Wavelynx) the only option?
I’ve reviewed the Core NFC and PassKit documentation but couldn't find a definitive answer.
Thanks in advance for your clarification!
We requested the com.apple.developer.passkit.pass-presentation-suppression entitlement in our app to suppress the Apple Pay popup when our app is near a reader. This entitlement was approved by Apple and successfully suppresses Apple Pay popups when approaching readers.
Currently, we have another use case in the same app: presenting a PKPass (our door key pass) by calling the Wallet from our code using passLibrary.present(pass.secureElementPass!). This should take us to the Wallet and display our pass. This functionality works perfectly in other environments where this entitlement is not in place.
We now understand that this entitlement suppresses all passes from our app.
Our questions are:
How can we suppress the Apple Pay popup while displaying our app key against a reader and also present the pass in the Wallet?
Both requirements are essentially the same but implemented in two different ways, and we need both functionalities. Presenting the pass through a URL is not a viable option for us according to our standards.
(https://developer.apple.com/forums/content/attachment/c2542a51-fd2c-42ce-88a2-207689b31159)
I have implemented the functionality to open my app when double-tapping the side button on an iPhone. However, whenever I double-tap the side button, my app always opens on the login screen. Instead of this default behavior, I want my app to navigate directly to a specific view when launched through the side button action.
I am using SwiftUI and have already integrated HCE (Host Card Emulation) entitlements and also configured with contactless payment. How can I achieve this behaviour so that my app opens a specific screen instead of always showing the login page?
Any guidance on handling this within SwiftUI would be greatly appreciated. Thank you!
Topic:
App & System Services
SubTopic:
Wallet
We are currently developing a wallet solution that uses the iOS EEA HCE API’s, during the testing of enabling our wallet as the system default wallet, we are being presented with an iOS system alert that states:
“Change the default contactless app? You can double-click to use cards in your default app. If Apple Wallet is not your default wallet app, you’ll need to open Wallet to use its cards, keys and tickets. Express Mode will continue to work when iphone is held near a compatible reader”
Please can you advise how we can prevent Apple Pay’s express mode from intercepting the customers preferred wallet actions including transit payments.
If this is not possible please can you provide the rationale for this not being possible given the Digital Marketing Act interoperability guidelines and EU Commitments in case AT.40452.
We are currently developing a wallet solution that uses the iOS EEA HCE API. During the development of our solution we have been unable to identify an API that allows us to evaluate the default contactless wallet state on the device.
Please can you advise how we can source this information that enables customers to be provided with accurate details of their default wallet state whilst they are using our wallet solution.
If this is not possible please can you provide the rationale for this given the Digital Marketing Act interoperability guidelines and EU Commitments in case AT.40452.
on a span of 4 months we sent 2 for nfc entitlement requests and refused , no reason nothing . i mean all we want is the ability to use nfc on passes nothing else , no idea why this is so complex . with google you don’t even need a developer account and it’s for free , here we pay and we can’t even get the full functionality the passes offer , we got the hardware and the solution but we find out we need an nfc entitlement to allow passes to have nfc ? i mean our use case is very simple instead of having barcode on the passes we want them to be via nfc and we already got the nfc hardware but we find out we need nfc entitlement which we tried requesting but getting refused with no reason at all. at least tell u what is the problem what how to fix it not outright refuse without any reason at all. if anyone got any solution please provide.
Hello,
I am facing a problem when trying to start the Wallet Extension Flow. It seems that even though the
override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void)
of the PKIssuerProvisioningExtensionHandler is called, the
override func passEntries(completion: @escaping ([PKIssuerProvisioningExtensionPassEntry]) -> Void)
is not called.
Note that this issue is reproduced in a device with iOS 18.1 whereas it is working correctly in a device with iOS 17.4.
Has something changed regarding the Wallet Extension in iOS 18.1 and above?