Post

Replies

Boosts

Views

Activity

Reply to Failing to permanently delete old simulator volumes
Hello, I happened to find the same for an old iOS 18.6 Simulator runtime that always appeared after a reboot. Turns out that this was happening but I just didn't happen to notice, or I had the iOS 18.6 sim installed when using Xcode 26. But then recently I decided to remove the 18.6 sim from Xcode 27, then I came across the same issue. Using xcrun simctl runtime delete will not work, as it will always be mounted back after reboot.. The runtime is located in the folder "/System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/" in a hexadecimal folder name. Because the folder is protected by SIP, you cannot remove it normally. Boot to Recovery, then from terminal, identify the Data volume, and remove it. You can look up “macOS Xcode simulator runtime stuck in /System/Library/AssetsV2” online.
Sep ’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:
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 Failing to permanently delete old simulator volumes
Hello, I happened to find the same for an old iOS 18.6 Simulator runtime that always appeared after a reboot. Turns out that this was happening but I just didn't happen to notice, or I had the iOS 18.6 sim installed when using Xcode 26. But then recently I decided to remove the 18.6 sim from Xcode 27, then I came across the same issue. Using xcrun simctl runtime delete will not work, as it will always be mounted back after reboot.. The runtime is located in the folder "/System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/" in a hexadecimal folder name. Because the folder is protected by SIP, you cannot remove it normally. Boot to Recovery, then from terminal, identify the Data volume, and remove it. You can look up “macOS Xcode simulator runtime stuck in /System/Library/AssetsV2” online.
Replies
Boosts
Views
Activity
Sep ’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 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