Code
30
SDK error · code 30
What it means
systemInfoError (code 30) is reserved for a problem with the system information the SDK reads, but no code path in the current iOS or Android SDK source raises it. If it shows up, it comes from another layer or an older SDK. Capture the message and underlying error, update the SDK, and do not grant access.
Code
30
iOS (Swift)
ErrorCode.system
Android (Kotlin)
No matching code in the Android SDK; see the causes below.
Causes
systemInfoError(withMessage:error:) exists, but no call site in the current iOS SDK source uses it (ErrorUtils.swift).Fix
Log the message, the userInfo or underlyingErrorMessage, and the SDK version.
Move to the latest release of the SDK and its wrapper, then reproduce.
Set the log level to debug and read the lines before the error. They show which call produced it.
If it still appears on a current SDK, open an issue with the log lines and the device model.
In your app
// Swift
do {
let result = try await Purchases.shared.purchase(package: package)
} catch let error as ErrorCode where error == .systemInfoError {
// handle system info error
} FAQ
In the current iOS and Android SDK source, nothing raises it. The code is reserved for system information problems, so treat any sighting as something to report.
In React Native, compare error.code with PURCHASES_ERROR_CODE.SYSTEM_INFO_ERROR. In Flutter, convert the PlatformException with PurchasesErrorHelper.getErrorCode(e) and compare the result with PurchasesErrorCode.systemInfoError.
Get started
RevenueDot answers the same SDK calls with the same error codes. Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue.
Already have an account? Sign in · Prefer your own servers? Self-host free