Diagnostic codes
Every diagnostic the Swift SDK reports for failures it handles itself, and what each means.
Diagnostics report failures the SDK handled itself, such as a delivery it will retry. They never
throw. Receive them with the onDiagnostic option, which also
lists each diagnostic's kind.
| Code | Meaning |
|---|---|
AUTHENTICATION_FAILED | Voidhash rejected the publishable key. Requests pause and queued data is kept. |
AUTHENTICATION_RECOVERED | The key is accepted again; requests resume. |
CIRCUIT_OPEN | Voidhash failed 5 times in a row. Requests pause and the cache is served until a retry succeeds. |
CIRCUIT_CLOSED | Requests go through again. |
SCHEMA_REFRESH_FAILED | The project configuration couldn't be refreshed. It's retried. |
STORE_CONNECTION_FAILED | The StoreKit connection didn't open at launch. It's retried. |
STORE_RECONCILIATION_FAILED | Scanning StoreKit for transactions failed. It's retried. |
TRANSACTION_SYNC_DEFERRED | A receipt didn't reach Voidhash and stays queued. It's retried. |
TRANSACTION_REJECTED | Voidhash refused a receipt, for example because the App Store isn't set up for the bundle ID. It's sent again on the next launch, after 6 hours, or on a restore. |
TRANSACTION_CAPTURE_NOT_DURABLE | A reported receipt couldn't be written to disk. Delivery is still attempted. |
STOREKIT_TESTING_TRANSACTION_SKIPPED | A transaction from a local StoreKit configuration in Xcode wasn't sent: the App Store can't verify it. |
PERSON_WRITE_REJECTED | A queued identify or attribute update was refused, or the anonymous ID belongs to another account. |
ANALYTICS_SEND_FAILED | Events weren't delivered. They're retried. |
ANALYTICS_EVENT_DROPPED | Events were dropped at the 1,000-event queue limit, or Voidhash refused them. |
ANALYTICS_CONSENT_DENIED | An event or attribute wasn't collected because consent isn't granted. Reported once until consent is granted. |
NON_FINITE_NUMBER_REPLACED | A property was NaN or infinite and was sent as null. |
INSTALL_ATTRIBUTION_DEFERRED | Apple Ads couldn't answer about the install yet. A later launch asks again. |
INSTALL_ATTRIBUTION_ABANDONED | The SDK stopped asking Apple Ads about the install. |
PAYWALL_ASSET_PREFETCH_FAILED | A paywall couldn't be preloaded. It still shows from its cached configuration. |
PROTECTED_DATA_UNAVAILABLE | The app launched before the first unlock; saved state loads once the device is unlocked. |
CACHE_READ_FAILED | An unreadable cache entry was discarded. |
CACHE_NAMESPACE_MIGRATED | Cached entries were moved to the current storage layout. |
QUEUE_READ_FAILED, QUEUE_WRITE_FAILED | A queue file couldn't be read or written. |
QUEUE_RECORD_DROPPED, QUEUE_RECORD_TRUNCATED | An unreadable or partly written queued record was discarded. |
transport diagnostics for a failed request carry the API code
of the failure, such as NETWORK_ERROR.
Next steps
- Errors the SDK throws.
- Troubleshooting by symptom.
- Error codes across platforms.
Something wrong or missing on this page? Tell us by email or on Discord.