Skip to main content
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:
PlatformSupport StatusMin VersionNotes
iOS✅ Fully supported12.0+Recommended platform, all features fully supported
iPadOS✅ Fully supported12.0+All features fully supported
tvOS✅ Fully supported12.0+All features fully supported
macOS (Designed for iPad)✅ Supported11.0+iPad apps running on macOS
macOS (Catalyst)⚠️ Partial support10.14+Build supported, some runtime features may be limited
macOS⚠️ Partial support10.14+Unofficial support, some features may not work properly
visionOS⚠️ Partial support1.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.
Recommended Version: Xcode 14.0 and above

Dependency Management Tools

ToolSupport StatusRecommendation
Swift Package Manager✅ Fully supportedRecommended ⭐
CocoaPods✅ Fully supportedSupported
Carthage🚧 PlannedComing soon

Programming Languages

LanguageMin VersionSupport Status
Swift5.0+✅ Fully supported (recommended)
Objective-C2.0✅ Fully supported

Framework Compatibility

FrameworkAuto TrackingManual TrackingNotes
UIKitSupports auto tracking of UIViewController and user interactions
SwiftUI⚠️Requires .trackRUMView() and .trackRUMTapAction() modifiers
UIKit apps can be fully auto-tracked, SwiftUI apps require adding modifiers.
Framework/LibraryAuto TrackingManual TrackingNotes
URLSessionRequires enabling URLSessionInstrumentation
AlamofireCan be manually tracked via custom interceptor
Apollo GraphQLCan be manually tracked via custom interceptor
AFNetworking⚠️Deprecated, recommend migrating to URLSession
URLSession is recommended for fully automatic network request tracking.
TypeSupport StatusNotes
WKWebView✅ Fully supportedRequires integrating FlashcatWebViewTracking module
UIWebView❌ Not supportedDeprecated by Apple
UIWebView has been deprecated by Apple, please use WKWebView.

SDK Modules

Flashduty iOS SDK consists of the following modules:
Dependency Name (SPM/CocoaPods)Import NameDescriptionRequired
FlashcatCoreDatadogCoreCore SDK, provides basic functionality✅ Required
FlashcatRUMDatadogRUMRUM data collection and reporting✅ Required
FlashcatWebViewTrackingDatadogWebViewTrackingWebView integration supportOptional
FlashcatCrashReportingDatadogCrashReportingCrash reportingRecommended
Selectively integrate modules based on your needs. Only FlashcatCore and FlashcatRUM are required.

Third-party Dependencies

Flashduty iOS SDK depends on the following third-party libraries:
Library NameVersionPurpose
PLCrashReporter1.12.0Crash report collection

Known Limitations

  • SwiftUI views require manually adding .trackRUMView() modifier to be tracked
  • Using .trackRUMTapAction() inside List may affect default gesture behavior
  • For List elements, recommend using custom action API
SwiftUI apps are recommended to combine auto tracking and manual tracking for best monitoring results.
Unofficial Support Platforms:
  • macOS and visionOS are not officially supported platforms
  • Some features that depend on UIKit may not work properly on these platforms
  • Future version compatibility is not guaranteed
  • 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:
MetricImpact
CPU Usage< 1%
Memory Usage< 10 MB
Package Size Increase~2-3 MB (depending on integrated modules)
Startup Time Impact< 100ms
The SDK uses asynchronous batch processing and does not block the main thread, with minimal impact on user experience.

Version Update Strategy

The SDK follows Semantic Versioning:
Update TypeVersion FormatCompatibilityDescription
Majorv3.0.0May be incompatibleMay contain breaking changes, code adjustments required
Minorv3.1.0Backward compatibleNew features, maintains backward compatibility
Patchv3.1.1Fully compatibleBug fixes, fully backward compatible
We recommend regularly updating the SDK to the latest stable version for best performance and security.