Skip to content

Commit 01f06ac

Browse files
authored
Fix App Quality Sessions field for Bundle Short Version (#11047)
1 parent 92ac9fc commit 01f06ac

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

FirebaseSessions/Sources/ApplicationInfo.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,15 @@ class ApplicationInfo: ApplicationInfoProtocol {
7070

7171
private let networkInformation: NetworkInfoProtocol
7272
private let envParams: [String: String]
73+
private let infoDict: [String: Any]?
7374

7475
init(appID: String, networkInfo: NetworkInfoProtocol = NetworkInfo(),
75-
envParams: [String: String] = ProcessInfo.processInfo.environment) {
76+
envParams: [String: String] = ProcessInfo.processInfo.environment,
77+
infoDict: [String: Any]? = Bundle.main.infoDictionary) {
7678
self.appID = appID
7779
networkInformation = networkInfo
7880
self.envParams = envParams
81+
self.infoDict = infoDict
7982
}
8083

8184
var sdkVersion: String {
@@ -107,11 +110,11 @@ class ApplicationInfo: ApplicationInfoProtocol {
107110
}
108111

109112
var appBuildVersion: String {
110-
return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? ""
113+
return infoDict?["CFBundleVersion"] as? String ?? ""
111114
}
112115

113116
var appDisplayVersion: String {
114-
return Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? ""
117+
return infoDict?["CFBundleShortVersionString"] as? String ?? ""
115118
}
116119

117120
var osBuildVersion: String {

FirebaseSessions/Tests/Unit/ApplicationInfoTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,18 @@ class ApplicationInfoTests: XCTestCase {
104104
appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
105105
XCTAssertEqual(appInfo.environment, .prod)
106106
}
107+
108+
func test_bundleVersions_correspondToVersion() {
109+
let appInfo = ApplicationInfo(
110+
appID: "testAppID",
111+
networkInfo: mockNetworkInfo,
112+
envParams: [:],
113+
infoDict: [
114+
"CFBundleVersion": "54321", // Build Version
115+
"CFBundleShortVersionString": "12.34.5", // Display Version
116+
]
117+
)
118+
XCTAssertEqual(appInfo.appBuildVersion, "54321")
119+
XCTAssertEqual(appInfo.appDisplayVersion, "12.34.5")
120+
}
107121
}

0 commit comments

Comments
 (0)