FAQ
Common questions about iOS SDK integration, testing, App Tracking Transparency, events, and sessions.
Integration
Where can I see real examples of implementation?
The Adtrace iOS GitHub repository includes example projects for different use cases:
- Objective-C
- Swift
- WebView
- iMessage (see also iMessage extension setup)
- iWatch
- tvOS
Can I use Adtrace in Swift projects?
Yes. The iOS SDK supports both Objective-C and Swift. See Getting started with the iOS SDK.
How do I use Swift Package Manager instead of CocoaPods?
Add the SDK via File → Add Packages… and enter the repository URL:
https://github.com/adtrace/adtrace_sdk_iOS
See Add the Adtrace SDK for SPM, CocoaPods, and Carthage options.
Does Adtrace provide an XCFramework?
Yes. Each release includes prebuilt frameworks on the GitHub releases page. You can also build locally using the build script in the repository.
Where can I find my app token?
Create an app in the Adtrace panel. Adtrace generates a hash-like app token that identifies your application to the backend. Find it under Settings → App Token.
I don't see any logs from Adtrace
Adtrace prints logs at different levels. Set log level to Verbose to see all output. See Set up logging.
Make sure you are using ADTEnvironmentSandbox during development — sandbox mode is intended for testing and log output.
I don't see any changes in Adtrace panel statistics
When the SDK is integrated correctly, it sends data to the backend and statistics appear in the panel. If you see no changes, check:
What is the minimum requirement for the Adtrace SDK?
Adtrace offers many features, but analytics and statistics require basic integration:
Review the example apps if you need a working reference.
Sandbox mode vs production mode
During integration and testing, set the environment to ADTEnvironmentSandbox. This separates test traffic from production and enables useful log output. Switch to ADTEnvironmentProduction before release.
See Add the Adtrace SDK. For maximum log detail during testing, set log level to Verbose in Set up logging.
Testing
How do I make sure everything is working?
Before other features, Adtrace needs the app to open and an install to be recorded on the device. Then verify:
- Install tracking
- Session tracking — sessions are sent automatically after basic integration; confirm via session callbacks
- Event tracking — see How to confirm an event was sent
Follow Test the integration for full Testing Console steps.
How do I know install is tracked?
Two options:
Check install via logs
Use sandbox mode first. In verbose logs, search for response objects from the backend. If the response contains an adid field with a hash-like value, install was tracked.
Check install via Testing Console
Open Settings → Testing Console in the Adtrace panel.
Provide a device identifier. If your app can read IDFA (with user authorization), use IDFA. Otherwise, find primary_dedupe_token in logs and use that value.
What is a "fresh device"?
When an app is installed on a device, that device is remembered. Uninstalling and reinstalling does not count as a new install. For install testing, use a device that has never recorded an install for your app — a "fresh device."
How do I "forget" my device?
In the Adtrace panel, go to Settings → Testing Console, enter your device ID, and clear its data from the backend.
Is the panel configured for what I want to see?
When viewing statistics, confirm:
- Locale and time zone
- Selected date interval
- Fraud detection settings
- Active filters
Why is there no change in installs after reinstalling?
Once a device has installed your app, Adtrace remembers it. Reinstalling immediately after uninstall does not create a new install. See Fresh device and Forget my device.
App Tracking Transparency
Does Adtrace make my app ask for tracking authorization?
No. By default, the Adtrace SDK does not request App Tracking Transparency authorization. IDFA improves matching, but Adtrace works without it using SDK-generated identifiers. You can disable ATT-related behavior if you do not want authorization prompts.
See Add iOS frameworks and App Tracking Transparency.
How do I know if the user allowed app-tracking authorization?
Use the App Tracking Transparency wrapper or check authorization status directly. The SDK can report consent state to the backend when you use the built-in wrapper.
See App Tracking Transparency and Add iOS frameworks.