Skip to content

Commit

Permalink
corrected threading issue related to setting up Analytics for Segment.
Browse files Browse the repository at this point in the history
  • Loading branch information
msadoon committed Sep 20, 2022
1 parent 7f4b50a commit cc22e06
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 10 deletions.
10 changes: 4 additions & 6 deletions Kickstarter-iOS/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -267,13 +267,11 @@ internal final class AppDelegate: UIResponder, UIApplicationDelegate {

self.viewModel.outputs.configureSegment
.observeValues { writeKey in
let config = AnalyticsConfiguration(writeKey: writeKey)
config.use(SEGAppboyIntegrationFactory.instance())
let configuration = Analytics.configuredClient(withWriteKey: writeKey)

Analytics.setup(with: config)

let client = Analytics.configuredClient(withWriteKey: writeKey)
AppEnvironment.current.ksrAnalytics.configureSegmentClient(client)
Analytics.setup(with: configuration)

AppEnvironment.current.ksrAnalytics.configureSegmentClient(Analytics.shared())
}

self.viewModel.outputs.segmentIsEnabled
Expand Down
6 changes: 2 additions & 4 deletions Library/Tracking/Segment.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public extension Analytics {
/**
Returns an `Analytics` instance, with Segment, using an `AnalyticsConfiguration`.
*/
static func configuredClient(withWriteKey writeKey: String) -> Analytics {
static func configuredClient(withWriteKey writeKey: String) -> AnalyticsConfiguration {
let configuration = AnalyticsConfiguration(writeKey: writeKey)
configuration
.trackApplicationLifecycleEvents = true
Expand All @@ -16,9 +16,7 @@ public extension Analytics {

configuration.sourceMiddleware = [BrazeDebounceMiddleware()]

Analytics.setup(with: configuration)

return Analytics.shared()
return configuration
}
}

Expand Down

0 comments on commit cc22e06

Please sign in to comment.