SKError Code Unknown & Other StoreKit SKError Cases

SKError Code Unknown & Other StoreKit SKError Cases

Portrait photo of blog author
Dan Burcaw
Co-Founder & CEO

Understanding how to resolve StoreKit's SKError Code unknown error case plus a quick overview of all SKError.Code enumeration cases.

Table of Contents:

In this blog post:


Nothing is more frustrating than an error code that isn’t helpful. Such is the case with Apple StoreKit’s SKError.Code enumeration’s unknown case. This is a catch-all error code if one of the long list of error codes doesn’t match.

Apple suggests two things if this error is encountered:

  • Development: Create a use a new App Store Connect test user
  • Production: Sign-out then back in to App Store

There are likely other undocumented reasons why this error might get thrown. If neither of the potential resolutions above do not fix the issue, please reach out and we’ll try to help.

All SKError.Code cases

In addition to SKError Code Unknown, here is the complete SKError.Code enumeration list:

  • clientInvalid: client not allowed to perform the attempted action
  • paymentCancelled: User canceled a payment request
  • paymentInvalid: one of the payment parameters not recognized by the App Store
  • paymentNotAllowed: user not allowed to authorize payments
  • storeProductNotAvailable: requested product is not available on the store
  • cloudServicePermissionDenied: user not allowed to access Cloud service
  • cloudServiceNetworkConnectionFailed: device could not connect to network
  • privacyAcknowledgementRequired: user has not acknowledged Apple’s privacy policy for Apple Music
  • unauthorizedRequestData: app attempting to use properly without required entitlement
  • invalidOfferIdentifer: offer identifier is invalid
  • invalidOfferPrice: price specified in App Store Connect is no longer valid
  • invalidSignature: signature in a payment discount isn’t valid
  • missingOfferParams: parameters are missing in a payment discount
  • ineligibleForOffer: user is ineligible for subscription offer
  • overlayCancelled: indicates cancellation of an overlay
  • overlayInvalidConfiguration: the overlay’s configuration is invalid
  • overlayPresentedInBackgroundScene: overlay displayed in background scene
  • overlayTimeout: overlay timed out
  • unsupportedPlatform: current platform doesn’t support overlays
  • unknown: unknown or unexpected error occurred

A Final Word About StoreKit

If you are a Nami customer, you generally don’t need to worry about StoreKit implementation details since we take care of it for you. However, the Nami SDK does surface certain StoreKit messages for debugging purposes depending on the log level.

Dan Burcaw is Co-Founder & CEO of Nami ML. He built a top mobile app development agency responsible for some of the most elite apps on the App Store and then found himself inside the mobile marketing industry after selling his last company to Oracle.

Nami® logo

Maximize your App's Potential

Accelerate app revenue with Nami subscriptions.

Nami® logo


Are you struggling with StoreKit?

Here are the answers that will solve your problem.

Sign up to our newsletter

Get the latest articles delivered straight to your inbox.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Similar articles

Read similar articles to this one