This document describes the operating system versions, development platforms, UI frameworks, and third-party library compatibility supported by the iOS RUM SDK.
System Requirements
Flashduty RUM iOS SDK supports the following operating system versions:| Platform | Support Status | Min Version | Notes |
|---|---|---|---|
| iOS | ✅ Fully supported | 12.0+ | Recommended platform, all features fully supported |
| iPadOS | ✅ Fully supported | 12.0+ | All features fully supported |
| tvOS | ✅ Fully supported | 12.0+ | All features fully supported |
| macOS (Designed for iPad) | ✅ Supported | 11.0+ | iPad apps running on macOS |
| macOS (Catalyst) | ⚠️ Partial support | 10.14+ | Build supported, some runtime features may be limited |
| macOS | ⚠️ Partial support | 10.14+ | Unofficial support, some features may not work properly |
| visionOS | ⚠️ Partial support | 1.0+ | Unofficial support, some features may not work properly |
| watchOS | ❌ Not supported | - | watchOS platform not currently supported |
Development Toolchain
Xcode
The SDK is built with the latest version of Xcode but is always backward compatible with the minimum supported Xcode version required for App Store submission.
Dependency Management Tools
| Tool | Support Status | Recommendation |
|---|---|---|
| Swift Package Manager | ✅ Fully supported | Recommended ⭐ |
| CocoaPods | ✅ Fully supported | Supported |
| Carthage | 🚧 Planned | Coming soon |
Programming Languages
| Language | Min Version | Support Status |
|---|---|---|
| Swift | 5.0+ | ✅ Fully supported (recommended) |
| Objective-C | 2.0 | ✅ Fully supported |
Framework Compatibility
UI Frameworks
UI Frameworks
| Framework | Auto Tracking | Manual Tracking | Notes |
|---|---|---|---|
| UIKit | ✅ | ✅ | Supports auto tracking of UIViewController and user interactions |
| SwiftUI | ⚠️ | ✅ | Requires .trackRUMView() and .trackRUMTapAction() modifiers |
Network Frameworks
Network Frameworks
| Framework/Library | Auto Tracking | Manual Tracking | Notes |
|---|---|---|---|
| URLSession | ✅ | ✅ | Requires enabling URLSessionInstrumentation |
| Alamofire | ❌ | ✅ | Can be manually tracked via custom interceptor |
| Apollo GraphQL | ❌ | ✅ | Can be manually tracked via custom interceptor |
| AFNetworking | ❌ | ⚠️ | Deprecated, recommend migrating to URLSession |
URLSession is recommended for fully automatic network request tracking.
WebView Support
WebView Support
| Type | Support Status | Notes |
|---|---|---|
| WKWebView | ✅ Fully supported | Requires integrating FlashcatWebViewTracking module |
| UIWebView | ❌ Not supported | Deprecated by Apple |
SDK Modules
Flashduty iOS SDK consists of the following modules:| Dependency Name (SPM/CocoaPods) | Import Name | Description | Required |
|---|---|---|---|
| FlashcatCore | DatadogCore | Core SDK, provides basic functionality | ✅ Required |
| FlashcatRUM | DatadogRUM | RUM data collection and reporting | ✅ Required |
| FlashcatWebViewTracking | DatadogWebViewTracking | WebView integration support | Optional |
| FlashcatCrashReporting | DatadogCrashReporting | Crash reporting | Recommended |
Third-party Dependencies
Flashduty iOS SDK depends on the following third-party libraries:
| Library Name | Version | Purpose |
|---|---|---|
| PLCrashReporter | 1.12.0 | Crash report collection |
Known Limitations
SwiftUI Limitations
SwiftUI Limitations
- SwiftUI views require manually adding
.trackRUMView()modifier to be tracked - Using
.trackRUMTapAction()insideListmay affect default gesture behavior - For
Listelements, recommend using custom action API
macOS and visionOS Limitations
macOS and visionOS Limitations
Catalyst Limitations
Catalyst Limitations
- Catalyst mode only supports building, some runtime features may be limited
- Recommend thorough testing before actual use
If your app primarily targets macOS Catalyst, recommend verifying all features in a test environment first.
Minimum Deployment Requirements
Requirements:
- Minimum OS version: iOS 12.0 / iPadOS 12.0 / tvOS 12.0
- Minimum Xcode version: Xcode 14.0
- Minimum Swift version: Swift 5.0
- Network permission: App needs network access permission to report data
- Storage space: SDK needs small amount of local storage for caching offline data
Performance Impact
Flashduty iOS SDK is designed to be lightweight with minimal impact on app performance:| Metric | Impact |
|---|---|
| CPU Usage | < 1% |
| Memory Usage | < 10 MB |
| Package Size Increase | ~2-3 MB (depending on integrated modules) |
| Startup Time Impact | < 100ms |
Version Update Strategy
The SDK follows Semantic Versioning:| Update Type | Version Format | Compatibility | Description |
|---|---|---|---|
| Major | v3.0.0 | May be incompatible | May contain breaking changes, code adjustments required |
| Minor | v3.1.0 | Backward compatible | New features, maintains backward compatibility |
| Patch | v3.1.1 | Fully compatible | Bug fixes, fully backward compatible |