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?
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
Created
I am currently working on creating a digital wallet for Apple. While I am able to successfully generate the .pkpass file and verify its contents by changing the extension to .zip, I encounter an issue when attempting to open the .pkpass file on an iPhone—it displays the error "File format is not supported."
I validated the .pkpass file using https://pkpassvalidator.azurewebsites.net/, and the validation results indicate that everything is correct. Additionally, I manually verified the contents by extracting the zip file, and all the information appears to be in order.
I am unable to identify the root cause of this issue. Could you please provide guidance on what might be going wrong?
Topic:
App & System Services
SubTopic:
Wallet
We are implementing a feature that uses PKPassLibrary.requestAutomaticPassPresentationSuppression to prevent the Wallet from appearing when unlocking a lock. We have already completed the approval process for the entitlement to enable Pass Presentation Suppression.
In most cases, our code snippet works as expected, and the result is .success. However, we are also encountering other results, such as .denied, .alreadyPresenting, and .cancelled or .notSupported, which cause the Wallet to appear for users.
Here's the code snippet we're using:
PKPassLibrary.requestAutomaticPassPresentationSuppression { result in
logger.log(
.info,
"PKPassLibrary suppression result: \(result.description)",
LogContext.homeFeature
)
}
I would appreciate clarification on the following points:
What's the meaning of each result type (.denied, .alreadyPresenting, .cancelled, .notSupported) beyond what is mentioned in the documentation? The documentation here does not provide additional details.
What is the recommended handling for these specific result states? Should we be taking different actions or retries based on each case?
Thank you very much for your help.
Best, Ramiro.