Trial license
Issued instantly for 7 days by Bundle ID so a team can validate fit before purchase.
The goal of this manual is simple: help integrators move from license issuance to reliable app activation without turning licensing into a black box.
Issued instantly for 7 days by Bundle ID so a team can validate fit before purchase.
Issued after successful purchase for production use. Validate the commercial license before production rollout.
Confirm that the build target, entitlement setup, and issued license all reference the same Bundle ID. This is the first thing to rule out. → SVLicenseErrorBundleIdentifierMismatch (1002)
Check whether the trial has expired or whether a deployment is using a license that is not valid for the current time window. → SVLicenseErrorExpired (1003) or SVLicenseErrorNotYetValid (1004)
Refresh the license, confirm the correct app target, and retry with a clean build. Do not silently continue as if protection succeeded.
Error codes returned in the NSError domain when sv_enableProtectionWithLicenseJSON:configuration:error: fails.
The SDK validates a license through these steps in sequence. Failure at any step returns the corresponding error code.
License JSON is deserialized and required fields are extracted. → SVLicenseErrorMalformedPayload (1000) / SVLicenseErrorMissingRequiredField (1001)
The license bundle_id must match the host app. → SVLicenseErrorBundleIdentifierMismatch (1002)
Rejects licenses that are not yet active. → SVLicenseErrorNotYetValid (1004)
Rejects licenses past their expiry date. → SVLicenseErrorExpired (1003)
Policy determines whether revocation proof is required. → SVLicenseErrorRevoked (1006) / SVLicenseErrorRevocationCheckRequired (1007)
Algorithm, key ID, and signature data must all be present. → SVLicenseErrorMissingRequiredField (1001)
ECDSA P-256 signature is verified against the embedded public key. → SVLicenseErrorInvalidSignature (1008) / SVLicenseErrorUnknownKeyIdentifier (1009)
All checks passed — protection can now be applied to the view.
These manuals work best when read as part of the full rollout path, not in isolation.
The overall rollout order from trial to first validated build.
Open manualHow licensing fits into the app-side activation path.
Open manualUnderstand what licensing enables and where the limits are.
Open manual