scout_sdk
Flutter wrapper for Scout — an iOS analytics framework providing logging, metrics, crash reporting, and session tracking backed by Apple's CloudKit.
Platform Support
| iOS | Android |
|---|---|
| Yes | No |
Requirements
- iOS 16.0+
- Flutter 3.24+ (Swift Package Manager support)
- A CloudKit container configured in your Apple Developer account
Installation
dependencies:
scout_sdk: ^0.1.0
This package depends on swift_log_bridge and swift_metrics_bridge, which are included automatically.
iOS Setup
- Enable CloudKit and Push Notifications capabilities in Xcode
- Create a CloudKit container (e.g.,
iCloud.com.yourcompany.yourapp)
Usage
Initialize
import 'package:scout_sdk/scout_sdk.dart';
await Scout.setup(containerId: 'iCloud.com.yourcompany.yourapp');
Logging
After Scout.setup(), all logging is persisted to CloudKit via Scout's swift-log backend.
const logger = Logger('MyApp');
await logger.info('User signed in');
await logger.error('Request failed', metadata: {'endpoint': '/api/users'});
Metrics
After Scout.setup(), all metrics are persisted to CloudKit via Scout's swift-metrics backend.
const counter = Counter('button_taps');
await counter.increment();
const timer = MetricsTimer('api_latency');
await timer.record(Duration(milliseconds: 250));
Dashboard
await Scout.showDashboard(containerId: 'iCloud.com.yourcompany.yourapp');
Architecture
scout_sdk
├── swift_log_bridge (swift-log wrapper)
└── swift_metrics_bridge (swift-metrics wrapper)
scout_sdk configures Scout as the backend for both swift-log and swift-metrics. The logging and metrics packages can also be used independently with other backends.