Skip to main content

Enable Logging

Turn on debug logging to see SpendOwl activity:
Disable logging in production builds. Logs may contain sensitive information.

Using Build Flags

Enable logging only in debug builds:

Log Levels

For more control, use logLevel:

Example Output

Console.app Integration

SpendOwl logs are written to the system log using os_log. To view them:
1

Open Console.app

Find Console in /Applications/Utilities/Console.app
2

Select Your Device

Choose your device or simulator from the sidebar
3

Filter by SpendOwl

In the search bar, type SpendOwl to filter logs
Console.app shows logs even when Xcode isn’t running—useful for testing on physical devices.

Common Issues

SDK Not Configured

Solution: Call configure() before using other SDK methods:

Invalid API Key

Solution: Check your API key in the dashboard. Ensure you’re using the correct key for your environment (test vs. live).

Network Errors

Solutions:
  • Check internet connectivity
  • Increase timeout: SpendOwlConfiguration(apiKey: "...", timeoutInterval: 30)
  • The SDK retries automatically, but persistent failures indicate network issues

Attribution Unavailable

Causes:
  • iOS version below 14.3
  • AdServices framework not available
  • Running in simulator (attribution may return mock data)
Solution: Attribution works on iOS 14.3+ on real devices. Simulators may return limited data.

Attribution Denied

Causes:
  • User or MDM restricted ad tracking
  • Limited Ad Tracking enabled in Settings
Solution: This is normal for some users. Handle gracefully:

Verifying Integration

Use this checklist to verify SpendOwl is working:
1

Check Configuration

2

Check SDK Version

3

Enable Logging

4

Trigger Attribution

5

Check Dashboard

Visit your SpendOwl Dashboard to see if events appear

Debug Mode in Dashboard

The SpendOwl dashboard shows debug data when using a test API key:
  • Test events are labeled separately
  • Don’t affect production ROAS
  • Useful for verifying integration

Reporting Issues

If you encounter issues not covered here:
  1. Enable .debug logging
  2. Reproduce the issue
  3. Copy the logs
  4. Open an issue on GitHub
Include:
  • iOS version
  • SDK version
  • Relevant logs
  • Steps to reproduce

Next Steps

Troubleshooting

Common issues and solutions

API Reference

Full SDK API documentation