When performing simulator in-app purchase testing from Xcode, the purchase flow is canceled before the purchase sheet pops up in the simulator. Then, the macOS crash reporter pops up and indicates a crash in a service called PassbookServiceUI!
Here’s what it looks like:
In addition, if you inspect the error responses from StoreKit you’ll see messages like this:
SKPaymentQueue: Payment completed with error: Error Domain=ASDErrorDomain Code=907 "Unhandled exception" UserInfo={NSUnderlyingError=0x60000009e5b0 {Error Domain=AMSErrorDomain Code=6 "Payment Sheet Failed" UserInfo={NSLocalizedDescription=Payment Sheet Failed,
The crash is in a service called PassbookServiceUI, which sounds like it has nothing to do with in-app purchases. Unfortunately, it makes it impossible to perform Xcode StoreKit purchase testing.
This occurs when triggering purchases with either StoreKit 1 or StoreKit 2 APIs. It happens even if a valid StoreKit Configuration file (.storekit) file is assigned to the build target.
The PassbookServiceUI crash occurs with the following environment as of this writing:
This error can be resolved by altering the simulator device, as many are known to function correctly.
That’s it! While this is an annoying bug that hopefully Apple fixes in a future version of Xcode, the workaround is quite simple.
Nami is a complete solution for growing your app revenue. Here’s what we have to offer:
Now you can focus on building a great app experience that is built for generating revenue. Get started for free here.
Get connected with one of our product experts to get started with your journey with Nami today.