Any guidance here? If you download https://developer.apple.com/documentation/storekit/in-app_purchase/implementing_a_store_in_your_app_using_the_storekit_api and look at its implementation of Store.purchase(), you'll see that if the transaction is .unverified, checkVerified() will throw StoreError.failedVerification, and transaction.finish() will not be called.
Post
Replies
Boosts
Views
Activity
Thanks for your reply! I just filed FB12048960; for public reference, here's what it says:
Unfinished transaction not delivered via Transaction.currentEntitlements after cold app boot
This may actually be a StoreKit testing issue, but I’m not sure. I’ve described the issue [here]. Here are the steps to reproduce:
Run this Apple-provided sample app on either the simulator or a real device: https://developer.apple.com/documentation/storekit/in-app_purchase/implementing_a_store_in_your_app_using_the_storekit_api
Open the StoreKit Transactions window for monitoring
Purchase a monthly subscription (by default, the SKDemo app is set up with “Monthly Renewal Every 30 Seconds”)
After purchasing the subscription, close the app and take it out of memory before the next Monthly renewal (i.e. within 30 seconds of the initial purchase)
Relaunch the app 35-40 seconds after the initial Monthly subscription purchase.
At this point, note that the renewal transaction is a) in the “Unfinished” state, and b) was not delivered to the app via the Transaction.currentEntitlements async sequence. Notably, the fact that the sample app displays the subscription as still active actually seems to be a bug: shouldn’t the .autoRenewable case verify that transaction.expirationDate isn’t in the past?
@itsabhiaryan Thanks for the heads-up! Updating to 14.5.1 fixed the issue for me as well.
Just updated to iOS 14.5 (18E199) + Xcode 12.5 (12E262), and I'm still having the same exact issue. Incredibly frustrating, as our next release will be required to integrate this framework, and it's still not working as expected.
Did you ever figure out how to fix this issue in the simulator? I'm running into the same problem.Update: just discovered something interesting! If I useCIRenderDestination(mtlTexture:commandBuffer:)to create a render destination, my CIImage is rendered upside-down in the simulator. However, if I useCIRenderDestination(width:height:pixelFormat:commandBuffer:mtlTextureProvider:)the image is rendered correctly. Seems like a bug...I'll file one.