This post contains sensitive language. Please revise it in order to continue.Hello,
We are working on digital key style application using custom communication with HCE (Host Card Emulation). We have a working solution but there is one issue - if our application is not selected as default NFC application our users may see Wallet popup when there's no active presentment intent in our application. I didn't find in documentation any information how to stop Wallet from activating. I found there's requestAutomaticPassPresentationSuppression method in PassKit, it requires special permission, however I am not sure if it can be used in this situation, as there's no information how it will impact HCE communication in our application.
I'll be greatful for any advice.
Regards,
Valdemar
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
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.
We are observing multiple different deviceId values linked to the same user within short timeframes. In some instances, a new deviceId appears every few minutes or hours. We utilize this identifier for managing Apple Wallet pass updates.
We would appreciate understanding which scenarios might cause the deviceId to change. Could it be influenced by:
Device restoration or factory reset procedures
App reinstallation or data clearing
iOS version updates
iCloud account changes or Apple ID authentication status changes
Privacy feature activation (such as App Tracking Transparency or Private Relay)
Testing environment usage (simulators or automated testing frameworks)
We aim to determine whether this behavior is expected or if it suggests atypical usage patterns.
Thank you for your assistance!
Hello,
We are trying to provision in apple wallet, I am getting an error "Card can not be added".
Please check below and let me know if I am missing anything.
SEID: 04401D7BCE578001930001236930311377D86C15D956BBA1
TimeStamp: 2025-08-18 11:53:04.570431-0500. CST
Last 4 FPAN: 2345
Thanks
Good day)
Colleagues, please tell me how can I change the notification on the locked screen "pass changed" in PKPASS when changing several fields?
Thank you very much for your answer
We have Wallet and Watch application on iPhone.
Both of them can add card and then waiting for activation.
However, When the same card is added to Wallet and Watch respectively, waiting for the app-to-app mode to be activated.
Client doesn't aware the source application.
Because deeplink is exactly the same.
Any adivse how does the client have to choose which card to activate?
Hello,
I'm experiencing a critical issue with PassKit's shareable pass functionality. Despite having the necessary entitlements configured, I'm getting an entitlement error when calling PKAddShareablePassConfiguration.forPassMetaData.
Failed to create PKAddShareablePassConfiguration: Error Domain=PKPassKitErrorDomain Code=4 "client is not entitled" UserInfo={NSDebugDescription=client is not entitled}
private func createPassViewController(from response: PreparePushProvisioningResponse) {
guard let passMetadata = PKShareablePassMetadata(
provisioningCredentialIdentifier: response.provisioningCredentialIdentifier,
cardConfigurationIdentifier: response.cardConfigurationIdentifier,
sharingInstanceIdentifier: response.sharingInstanceIdentifier,
passThumbnailImage: response.passThumbnailImage,
ownerDisplayName: response.ownerDisplayName,
localizedDescription: response.localizedDescription
) else {
print("Failed to create PKShareablePassMetadata")
return
}
print("PKShareablePassMetadata created successfully")
// This is where the error occurs
PKAddShareablePassConfiguration.forPassMetaData(
[passMetadata],
provisioningPolicyIdentifier: "", // Empty as per documentation
action: .add
) { (configuration, error) in
if let error = error {
print("Failed to create PKAddShareablePassConfiguration: \(error)")
// Error Domain=PKPassKitErrorDomain Code=4 "client is not entitled"
return
}
guard let config = configuration else {
print("PKAddShareablePassConfiguration is nil")
return
}
// other code...
}
}
The push provisioning preparation succeeds completely:
Prepare push provisioning succeeded
Credential ID: "XXXX-XXXX....."
Owner: Teodora
Description: Interflex NFC development
PKShareablePassMetadata created successfully
Then immediately fails at PKAddShareablePassConfiguration.forPassMetaData() with the entitlement error.
Xcode Configuration Issues:
When manually entering capabilities in Xcode's Signing & Capabilities tab, I receive this error:
Provisioning profile "20250929 VIDC QA DEV" doesn't match the entitlements file's value for the com.apple.developer.contactless-payment-pass-provisioning entitlement. Profile qualification is using entitlement definitions that may be out of date. Connect to network to update.
When I don't manually enter the capabilities in the Runner.entitlements file, the provisioning profile error disappears in Xcode, but the runtime entitlement error persists.
My application is from a bank that provides payment passes, and when I try to retrieve passes already enrolled in the wallet, it always returns empty. Is there something I need to configure for it to work? This is what I've tried, and it hasn't worked:
let pkPassLibrary = PKPassLibrary()
let paymentPasses =
pkPassLibrary.passes(of:.payment)
let pkPassLibrary = PKPassLibrary()
let paymentPasses: [PKSecureElementPass]=pkPassLibrary
.passes(of: .secureElement)
.compactMap { $0 as? PKSecureElementPass }
Topic:
App & System Services
SubTopic:
Wallet
I'm creating an event ticket Apple Wallet Pass and setting a light-coloured background image. When I do this, it automatically sets the foregroundColor to white, even when I explicitly set it to black.
What's strange is that on my Mac, the foregroundColor appears as intended, and I can set it to any color I want, but when I AirDrop the pass to my iPhone, it sets the color to white, regardless of what I set the foregroundColor to.
This means the text becomes completely illegible for my users, with white text on a white background image. If I remove the background image, the foregroundColor works fine.
Is there a way to have a light-colored background image with dark text, or am I forced to have a dark-colored background image?
Here are the colors in my pass.json:
backgroundColor: "rgb(255, 255, 255)"
foregroundColor: "rgb(0, 0, 0)"
labelColor: "rgb(0, 0, 0)"
I've attached what the pass looks like on my Mac and my iPhone.
My application is from a bank that provides payment passes, and when I try to retrieve passes already enrolled in the wallet, it always returns empty. Is there something I need to configure for it to work? This is what I've tried, and it hasn't worked
Topic:
App & System Services
SubTopic:
Wallet
I want to be able to retrieve payment form wallet, I've used the PKPassLibrary but it hasn't worked
Topic:
App & System Services
SubTopic:
Wallet
Hi,
We are distributing pk pass files via a web browser. When a user taps Add in the system pass preview, the pass is added successfully, the preview is dismissed, and the user remains in the browser.
From a user experience perspective, we would like to better guide users to their newly added pass in Apple Wallet.
Is there a supported API, URL scheme, or documented mechanism that allows a web-based flow to transition the user to the Wallet app after a pass has been added?
If direct app transitions are not supported in this scenario, what is the recommended best practice for helping users locate and open their newly added pass in Wallet?
Thank you for your guidance.