diff --git a/CHANGELOG.md b/CHANGELOG.md index e8721386e0..5e581eba09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - feat: API to manually start/stop Session Replay (#4414) - Custom redact modifier for SwiftUI (#4362, #4392) +- Track usage of appHangTrackingV2 (#4445) ### Removal of Experimental API diff --git a/Sources/Swift/Helper/SentryEnabledFeaturesBuilder.swift b/Sources/Swift/Helper/SentryEnabledFeaturesBuilder.swift index b6f2db89a9..beded23fc3 100644 --- a/Sources/Swift/Helper/SentryEnabledFeaturesBuilder.swift +++ b/Sources/Swift/Helper/SentryEnabledFeaturesBuilder.swift @@ -35,6 +35,12 @@ import Foundation if options.swiftAsyncStacktraces { features.append("swiftAsyncStacktraces") } + +#if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) + if options.enableAppHangTrackingV2 { + features.append("appHangTrackingV2") + } +#endif //os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) return features } diff --git a/Tests/SentryTests/Helper/SentryEnabledFeaturesBuilderTests.swift b/Tests/SentryTests/Helper/SentryEnabledFeaturesBuilderTests.swift index 1fb4f4547d..51af5c5af7 100644 --- a/Tests/SentryTests/Helper/SentryEnabledFeaturesBuilderTests.swift +++ b/Tests/SentryTests/Helper/SentryEnabledFeaturesBuilderTests.swift @@ -25,6 +25,10 @@ final class SentryEnabledFeaturesBuilderTests: XCTestCase { options.enablePreWarmedAppStartTracing = true #endif // canImport(UIKit) #endif // os(iOS) || os(tvOS) + +#if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) + options.enableAppHangTrackingV2 = true +#endif //os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) let features = SentryEnabledFeaturesBuilder.getEnabledFeatures(options: options) @@ -42,5 +46,9 @@ final class SentryEnabledFeaturesBuilderTests: XCTestCase { XCTAssert(features.contains("preWarmedAppStartTracing")) #endif // canImport(UIKit) #endif // os(iOS) || os(tvOS) + +#if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) + XCTAssert(features.contains("appHangTrackingV2")) +#endif //os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) } }