A companion app for the Scout package. Scout IP uses your device's public IP address to generate real-world logs, metrics, and activity data — providing a live environment to test and verify Scout's features through its built-in dashboard.
| 🌐 | IP Lookup | Fetches public IP info via ipinfo.io and logs the results using Scout. |
| 📝 | Live Logging | Every lookup generates structured logs with metadata (IP, location, ISP) synced to CloudKit. |
| 📊 | Metrics | Tracks API request counts and response times via swift-metrics. |
| 📱 | Dashboard | Browse logs, metrics, crashes, and activity through Scout's built-in SwiftUI dashboard. |
- Clone the repository:
git clone https://github.com/kasianov-mikhail/scout-ip.git cd scout-ip - Copy the secrets template and fill in your API key:
cp Secrets.xcconfig.template Secrets.xcconfig
- Get your token from ipinfo.io/account/token and set it in
Secrets.xcconfig. - Open
ScoutIP.xcodeprojand run. The Scout package is fetched automatically as a remote dependency.
ScoutIP.xcworkspace also surfaces the source of the scout and scout-server packages so you can edit them alongside the app. They live as sibling folders next to scout-ip; run the bootstrap script to clone any that are missing:
./bootstrap.shThen open ScoutIP.xcworkspace instead of the project. With scout checked out locally, Xcode builds against your local copy instead of the remote dependency.