Licensing
01 Sept 2026 · Field Track 360
A licence token is issued for your bundle identifier plus its .dev and .staging variants, and checked once in ready() with no server call.
The simulator and any build run from Xcode skip the check, so you can evaluate the whole SDK before buying. A token is required only in distributed builds: App Store, TestFlight, ad-hoc and enterprise.
Installing the token
Info.plist is the recommended route, and needs no code change:
``` <key>TrackItLicense</key> <string>TRACKIT-eyJ…</string> ```
Or pass it in code when the token arrives at runtime:
``` await TrackIt.shared.ready( TrackItConfig.builder() .license("TRACKIT-eyJ…") .buildUnchecked() ) ```
When both are set, the code value wins. The token is not a secret - it only works for the bundle identifiers it was issued for - so committing it in the plist is fine.
If ready() refuses
- licenseMissing - no token found. Purchase a licence for this app.
- licenseInvalid - malformed or altered. Re-copy from the issue email; the message says what failed.
- licenseBundleMismatch - genuine token, different app. The message names both identifiers.
A refused ready() never crashes. It returns the code and message, and your app decides what to show.