Post

Replies

Boosts

Views

Activity

Reply to Transaction.unfinished not getting unfinished transactions
Hello, I can confirm that there is a bug in iOS 26.4.2 when testing local StoreKit 2 in Xcode. The Transaction.unfinished loop has nothing inside, although the transaction manager clearly shows there are unfinished transactions. If testing it on iOS 18.6 (only on simulator), it will loop through unfinished and successfully clear any unfinished transactions. Also it might be possible that the local storekit daemon is out of sync, I have filed a bug report for that under: Transaction.currentEntitlements sometimes does not emit a result until device is reboot (FB22349195)
Topic: App & System Services SubTopic: StoreKit Tags:
Apr ’26
Reply to StoreKit Sandbox – Unfinished Consumable Transaction Across Devices
As far as I know, the active listener task should finish the transaction. Otherwise you have to setup a listener for Transaction.unfinished, found below: https://developer.apple.com/documentation/storekit/transaction/unfinished A transaction is unfinished until you call finish(). Use the unfinished sequence to find the transactions your app needs to process to deliver purchased content or enable service.
Mar ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have run some tests on my copy of StoreKit testing project. When the app is not active, and a renewal comes through, it will be unfinished. The listener task you have in Transaction.updates might not catch it. Question: Does your app handle unfinished transactions? You need to listen for Transaction.unfinished, and finish any verified transactions. Either call it on the next launch, or create another Task to listen for unfinished. func processUnfinishedTransactions() async { for await result in Transaction.unfinished { switch result { case .verified(let verified): // Always finish verified transactions await verified.finish() case .unverified(let unverified, _): // Handle unverified } } } If you check the Understanding StoreKit Workflows sample from WWDC25, notice they have 3 things going on in the Store.swift file: Task(priority: .background) { // Finish any unfinished transactions -- for example, if the app was terminated before finishing a transaction. for await verificationResult in Transaction.unfinished { await handle(updatedTransaction: verificationResult) } // Fetch current entitlements for all product types except consumables. for await verificationResult in Transaction.currentEntitlements { await handle(updatedTransaction: verificationResult) } } Task(priority: .background) { for await verificationResult in Transaction.updates { await handle(updatedTransaction: verificationResult) } } Although it uses @Observable, your shared singleton should be able to keep these tasks alive. The same principles apply.
Topic: App & System Services SubTopic: StoreKit Tags:
Feb ’26
Reply to Failing to permanently delete old simulator volumes
Maybe try reinstalling the simulator to force Xcode to re-register the runtime correctly. Then remove the component.
Replies
Boosts
Views
Activity
2w
Reply to Failing to permanently delete old simulator volumes
Use this: xcrun simctl delete unavailable Without sudo. I have been using that to clear previous versions of simulators that have been orphaned.
Replies
Boosts
Views
Activity
2w
Reply to Failing to permanently delete old simulator volumes
Open terminal and check: To list unavailable simulators: xcrun simctl list devices unavailable To delete them: xcrun simctl delete unavailable
Replies
Boosts
Views
Activity
2w
Reply to Xcode 27 Beta / Beta 2 Running my app in Device Hub stalls on Launch Screen
Hello, I am seeing something similar running Xcode 27 beta 2, on macOS 27 beta 2. It's a MacBook Air M2 with 16 GB of RAM. Trying to spin up the preview, on getting anything to run on Device Hub is almost impossible. From Activity Monitor, the swap used is around 13 GB.
Replies
Boosts
Views
Activity
Jun ’26
Reply to Xcode 27 beta 2 almost impossible to use with 16 GB memory Macs.
So even a M4 Mac mini with 16 GB of RAM so has issues with the Preview or Device Hub? Does it get to a state where you almost cannot use Preview/Device Hub?
Replies
Boosts
Views
Activity
Jun ’26
Reply to Xcode 27 beta - Family.app keeps crashing
Hello, I have also encountered frequent crashes since installing Xcode 27 beta. The crashes happens both in Xcode 27 beta and Xcode 26.5 latest release, running on macOS 26.6 beta. I am using MacBook Air M2 8 cpu/8gpu/16 GB memory configuration. I have filed feedback FB23112989
Replies
Boosts
Views
Activity
Jun ’26
Reply to No response after multiple appeals
For this situation, an App Transfer is a better choice.
Replies
Boosts
Views
Activity
Jun ’26
Reply to Transaction.unfinished not getting unfinished transactions
Hello, I can confirm that there is a bug in iOS 26.4.2 when testing local StoreKit 2 in Xcode. The Transaction.unfinished loop has nothing inside, although the transaction manager clearly shows there are unfinished transactions. If testing it on iOS 18.6 (only on simulator), it will loop through unfinished and successfully clear any unfinished transactions. Also it might be possible that the local storekit daemon is out of sync, I have filed a bug report for that under: Transaction.currentEntitlements sometimes does not emit a result until device is reboot (FB22349195)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Apr ’26
Reply to iCloud Sync not working with iPhone, works fine for Mac.
I have tested my apps, the sync issues have been fixed in iOS 26.4.1. Cross syncing between 26.4.1 and 26.5 beta works fine too.
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Apr ’26
Reply to iCloud Sync not working with iPhone, works fine for Mac.
Tested my app which uses CloudKit automatic configuration. The data will sync correctly on iOS 26.5 beta 1 now. Hope Apple will push an update for 26.4.1 soon.
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Apr ’26
Reply to how to disable streamline purchasing
Have you included listening for purchase intents using the PurchaseIntent API (https://developer.apple.com/documentation/storekit/purchaseintent)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to StoreKit Sandbox – Unfinished Consumable Transaction Across Devices
As far as I know, the active listener task should finish the transaction. Otherwise you have to setup a listener for Transaction.unfinished, found below: https://developer.apple.com/documentation/storekit/transaction/unfinished A transaction is unfinished until you call finish(). Use the unfinished sequence to find the transactions your app needs to process to deliver purchased content or enable service.
Replies
Boosts
Views
Activity
Mar ’26
Reply to Why doesn’t Transaction.updates emit reliably?
What if you check Transaction.currentEntitlements on every NSApplication.willBecomeActiveNotification or NSApplication.didBecomeActiveNotification, does the renewal transaction get reflected?
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to StoreKit2 Coexistence Issues with Original StoreKit
StoreKit 2 has a Transaction.unfinished. A sequence that emits unfinished transactions for the customer. Use the unfinished sequence to find the transactions your app needs to process to deliver purchased content or enable service.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have run some tests on my copy of StoreKit testing project. When the app is not active, and a renewal comes through, it will be unfinished. The listener task you have in Transaction.updates might not catch it. Question: Does your app handle unfinished transactions? You need to listen for Transaction.unfinished, and finish any verified transactions. Either call it on the next launch, or create another Task to listen for unfinished. func processUnfinishedTransactions() async { for await result in Transaction.unfinished { switch result { case .verified(let verified): // Always finish verified transactions await verified.finish() case .unverified(let unverified, _): // Handle unverified } } } If you check the Understanding StoreKit Workflows sample from WWDC25, notice they have 3 things going on in the Store.swift file: Task(priority: .background) { // Finish any unfinished transactions -- for example, if the app was terminated before finishing a transaction. for await verificationResult in Transaction.unfinished { await handle(updatedTransaction: verificationResult) } // Fetch current entitlements for all product types except consumables. for await verificationResult in Transaction.currentEntitlements { await handle(updatedTransaction: verificationResult) } } Task(priority: .background) { for await verificationResult in Transaction.updates { await handle(updatedTransaction: verificationResult) } } Although it uses @Observable, your shared singleton should be able to keep these tasks alive. The same principles apply.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26