From c407ae0a73f20b0efe75a483c6f24bd79b927105 Mon Sep 17 00:00:00 2001 From: matthewsun04 Date: Sat, 19 Apr 2025 21:07:03 -0400 Subject: [PATCH] Fixing/Implementing quality of life improvements to Issue #24206 --- Modules/Sources/WordPressShared/WPUserAgent.swift | 2 +- Modules/Tests/WordPressSharedTests/WPUserAgentTests.swift | 4 ++-- WordPress/Classes/Services/NullBlogPropertySanitizer.swift | 2 +- WordPress/Classes/System/WordPressAppDelegate.swift | 4 ++-- .../Classes/Utility/In-App Feedback/AppRatingsUtility.swift | 3 ++- WordPress/WordPressTest/NullBlogPropertySanitizerTests.swift | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Modules/Sources/WordPressShared/WPUserAgent.swift b/Modules/Sources/WordPressShared/WPUserAgent.swift index b4fcc6a91615..59ba0f636dd7 100644 --- a/Modules/Sources/WordPressShared/WPUserAgent.swift +++ b/Modules/Sources/WordPressShared/WPUserAgent.swift @@ -36,7 +36,7 @@ public class WPUserAgent: NSObject { // https://github.com/wordpress-mobile/WordPress-iOS/blob/a6eaa7aa8acb50828449df2d3fccaa50d7def821/WordPress/Classes/Utility/WPUserAgent.m#L31-L41 @objc public static func wordPressUserAgent(userDefaults: UserDefaults, bundle: Bundle = .main) -> String { - let appVersion = bundle.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown" + let appVersion = bundle.shortVersionString() ?? "Unknown" return "\(defaultUserAgent(userDefaults: userDefaults)) wp-iphone/\(appVersion)" } diff --git a/Modules/Tests/WordPressSharedTests/WPUserAgentTests.swift b/Modules/Tests/WordPressSharedTests/WPUserAgentTests.swift index fa028658b16c..a6a2c8dd0cdc 100644 --- a/Modules/Tests/WordPressSharedTests/WPUserAgentTests.swift +++ b/Modules/Tests/WordPressSharedTests/WPUserAgentTests.swift @@ -21,9 +21,9 @@ class WPWPUserAgentTests { @Test func wordPressUserAgentValue() throws { let userDefaults = UserDefaults.standard - let appVersion = try #require(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) + let appVersion = Bundle.main.shortVersionString()! let defaultUserAgent = WPUserAgent.defaultUserAgent(userDefaults: userDefaults) - let expectedUserAgent = String.init(format: "%@ wp-iphone/%@", defaultUserAgent, appVersion) + let expectedUserAgent = String(format: "%@ wp-iphone/%@", defaultUserAgent, appVersion) #expect(WPUserAgent.wordPressUserAgent(userDefaults: userDefaults) == expectedUserAgent) } diff --git a/WordPress/Classes/Services/NullBlogPropertySanitizer.swift b/WordPress/Classes/Services/NullBlogPropertySanitizer.swift index efbb0f78888a..7bc740137ff6 100644 --- a/WordPress/Classes/Services/NullBlogPropertySanitizer.swift +++ b/WordPress/Classes/Services/NullBlogPropertySanitizer.swift @@ -75,6 +75,6 @@ import WordPressShared } private func currentBuildVersion() -> String? { - return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String + return Bundle.main.shortVersionString()! } } diff --git a/WordPress/Classes/System/WordPressAppDelegate.swift b/WordPress/Classes/System/WordPressAppDelegate.swift index cb4dc5105b60..910478c2e00f 100644 --- a/WordPress/Classes/System/WordPressAppDelegate.swift +++ b/WordPress/Classes/System/WordPressAppDelegate.swift @@ -374,7 +374,7 @@ extension WordPressAppDelegate { } func configureAppRatingUtility() { - guard let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else { + guard let version = Bundle.main.shortVersionString() else { DDLogError("No CFBundleShortVersionString found in Info.plist") return } @@ -546,7 +546,7 @@ extension WordPressAppDelegate { } private func checkForAppUpdates() { - guard let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else { + guard let version = Bundle.main.shortVersionString() else { return wpAssertionFailure("No CFBundleShortVersionString found in Info.plist") } let coordinator = AppUpdateCoordinator(currentVersion: version) diff --git a/WordPress/Classes/Utility/In-App Feedback/AppRatingsUtility.swift b/WordPress/Classes/Utility/In-App Feedback/AppRatingsUtility.swift index a33edc01e87d..4675ed31c7c9 100644 --- a/WordPress/Classes/Utility/In-App Feedback/AppRatingsUtility.swift +++ b/WordPress/Classes/Utility/In-App Feedback/AppRatingsUtility.swift @@ -61,7 +61,8 @@ class AppRatingUtility: NSObject { /// internal tracking. /// /// - Parameters: - /// - version: version number of the app, e.g. CFBundleShortVersionString + /// - version: version number of the app, e.g. Bundle.main.shortVersionString() for consistency. + /// Maps to CFBundleShortVersionStringin Info.plist) /// @objc func setVersion(_ version: String) { let trackingVersion = defaults.string(forKey: Key.currentVersion) ?? version diff --git a/WordPress/WordPressTest/NullBlogPropertySanitizerTests.swift b/WordPress/WordPressTest/NullBlogPropertySanitizerTests.swift index 8c742da2cd86..e7bbbee06f5c 100644 --- a/WordPress/WordPressTest/NullBlogPropertySanitizerTests.swift +++ b/WordPress/WordPressTest/NullBlogPropertySanitizerTests.swift @@ -9,7 +9,7 @@ class NullBlogPropertySanitizerTests: CoreDataTestCase { private var nullBlogPropertySanitizer: NullBlogPropertySanitizer! private var currentBuildVersion: String { - return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "" + return Bundle.main.shortVersionString() ?? "" } override func setUp() {