Code
35
SDK error · code 35
What it means
offlineConnectionError (code 35) means the device is offline: the request failed with the system's "not connected to the Internet" error. It differs from networkError, which covers every other network failure. Show an offline message, retry when the connection returns, and rely on cached customer info so paying customers keep access. Android reports the same situation as NetworkError.
Code
35
iOS (Swift)
ErrorCode.offline
Android (Kotlin)
No matching code in the Android SDK; see the causes below.
Causes
NSURLErrorNotConnectedToInternet, which Apple describes as a request made when an internet connection has not been established and cannot be established automatically (Apple docs). The SDK maps it to this error (NetworkError.swift).IOException, which becomes NetworkError.Fix
Tell the customer they are offline, and keep the app usable with cached data.
Use your platform's reachability callback to retry offerings or customer info when the connection comes back.
The SDK caches customer info. Keep gating features on the entitlement state it already has instead of blocking the app.
On iOS, check that cellular data is allowed for the app in Settings.
In your app
// Swift
do {
let result = try await Purchases.shared.purchase(package: package)
} catch let error as ErrorCode where error == .offlineConnectionError {
// handle offline connection
} On RevenueDot: A device that is offline never reaches RevenueDot. Customers who already paid keep the access the SDK cached. When the device is online and RevenueDot answers 5xx, the SDK computes access on the device. See offline entitlements.
FAQ
offlineConnectionError means the system said the device is not connected to the Internet. networkError covers every other network failure, such as timeouts and unreachable hosts.
No. The SDK serves cached customer info, and unposted purchases stay on the device until the SDK can send them.
In React Native, compare error.code with PURCHASES_ERROR_CODE.OFFLINE_CONNECTION_ERROR. In Flutter, convert the PlatformException with PurchasesErrorHelper.getErrorCode(e) and compare the result with PurchasesErrorCode.offlineConnectionError.
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