diff --git a/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/Login/LoginHost/SFSDKLoginHostStorage.m b/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/Login/LoginHost/SFSDKLoginHostStorage.m index 27fc6e1641..f9111efab6 100644 --- a/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/Login/LoginHost/SFSDKLoginHostStorage.m +++ b/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/Login/LoginHost/SFSDKLoginHostStorage.m @@ -107,7 +107,7 @@ - (id)init { */ if (![self loginHostForHostAddress:customHost]) { [self.loginHostList removeAllObjects]; - if ([SFUserAccountManager sharedInstance].loginViewControllerConfig.showSettingsIcon) { + if ([SFUserAccountManager sharedInstance].loginViewControllerConfig.showSettingsIcon && [SFUserAccountManager sharedInstance].loginViewControllerConfig.showServerPicker) { [self.loginHostList addObject:production]; [self.loginHostList addObject:sandbox]; } diff --git a/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/UserAccount/SFUserAccountManager.m b/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/UserAccount/SFUserAccountManager.m index 79883ba703..e8efc47dc9 100644 --- a/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/UserAccount/SFUserAccountManager.m +++ b/libs/SalesforceSDKCore/SalesforceSDKCore/Classes/UserAccount/SFUserAccountManager.m @@ -1048,13 +1048,15 @@ - (void)loginViewController:(SFLoginViewController *)loginViewController didChan } - (void)loginViewControllerDidClearCache:(SFLoginViewController *)loginViewController { - [SFSDKWebViewStateManager clearCacheWithCompletionHandler:^{}]; - [self restartAuthenticationForViewController:loginViewController]; + [SFSDKWebViewStateManager clearCacheWithCompletionHandler:^{ + [self restartAuthenticationForViewController:loginViewController]; + }]; } - (void)loginViewControllerDidClearCookies:(SFLoginViewController *)loginViewController { - [SFSDKWebViewStateManager removeSessionForcefullyWithCompletionHandler:^{}]; - [self restartAuthenticationForViewController:loginViewController]; + [SFSDKWebViewStateManager removeSessionForcefullyWithCompletionHandler:^{ + [self restartAuthenticationForViewController:loginViewController]; + }]; } - (void)loginViewControllerDidReload:(SFLoginViewController *)loginViewController { diff --git a/libs/SalesforceSDKCore/SalesforceSDKCoreTests/WebViewStateManagerTests.swift b/libs/SalesforceSDKCore/SalesforceSDKCoreTests/WebViewStateManagerTests.swift index 5d68ac57e0..cfbf1d9a24 100644 --- a/libs/SalesforceSDKCore/SalesforceSDKCoreTests/WebViewStateManagerTests.swift +++ b/libs/SalesforceSDKCore/SalesforceSDKCoreTests/WebViewStateManagerTests.swift @@ -35,38 +35,4 @@ final class WebViewStateManagerTests: XCTestCase { SFSDKWebViewStateManager.sessionCookieManagementDisabled = false XCTAssertFalse(SFSDKWebViewStateManager.sessionCookieManagementDisabled) } - - @MainActor - func testClearCache() async throws { - // Add some test data - let html = "" - let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 100, height: 100), configuration: WKWebViewConfiguration()) - - // Load HTML and wait for JavaScript to execute - webView.loadHTMLString(html, baseURL: URL(string: "https://test.salesforce.com")) - try await Task.sleep(for: .seconds(1)) - - // Define data types to check - let dataTypes: Set = [WKWebsiteDataTypeDiskCache, - WKWebsiteDataTypeMemoryCache, - WKWebsiteDataTypeFetchCache, - WKWebsiteDataTypeLocalStorage, - WKWebsiteDataTypeSessionStorage, - WKWebsiteDataTypeIndexedDBDatabases, - WKWebsiteDataTypeWebSQLDatabases, - WKWebsiteDataTypeOfflineWebApplicationCache, - WKWebsiteDataTypeServiceWorkerRegistrations] - - let dataStore = WKWebsiteDataStore.default() - // Verify data exists before clearing - let initialRecords = await dataStore.dataRecords(ofTypes: dataTypes) - XCTAssertFalse(initialRecords.isEmpty, "Expected data to exist before clearing") - - // Clear the cache - await SFSDKWebViewStateManager.clearCache() - - // Verify data was cleared - let records = await dataStore.dataRecords(ofTypes: dataTypes) - XCTAssertTrue(records.isEmpty, "Expected data to be cleared") - } }