diff --git a/Mail/Views/SplitView.swift b/Mail/Views/SplitView.swift index 9b9b67d61..9a6ed4864 100644 --- a/Mail/Views/SplitView.swift +++ b/Mail/Views/SplitView.swift @@ -35,7 +35,7 @@ public class SplitViewManager: ObservableObject { var splitViewController: UISplitViewController? func adaptToProminentThreadView() { - guard !platformDetector.isMacCatalyst, !platformDetector.isiOSAppOnMac else { + guard !platformDetector.isMac else { return } @@ -89,7 +89,7 @@ struct SplitView: View { } else { NavigationView { MenuDrawerView() - .navigationBarHidden(!(platformDetector.isMacCatalyst || platformDetector.isiOSAppOnMac)) + .navigationBarHidden(!platformDetector.isMac) ThreadListManagerView() @@ -176,7 +176,7 @@ struct SplitView: View { } private func setupBehaviour(orientation: UIInterfaceOrientation) { - if platformDetector.isMacCatalyst || platformDetector.isiOSAppOnMac { + if platformDetector.isMac { splitViewController?.preferredSplitBehavior = .tile splitViewController?.preferredDisplayMode = .twoBesideSecondary splitViewController?.presentsWithGesture = false diff --git a/Mail/Views/Sync Profile/SyncInstallProfileTutorialView.swift b/Mail/Views/Sync Profile/SyncInstallProfileTutorialView.swift index 392cef402..0ee92b45f 100644 --- a/Mail/Views/Sync Profile/SyncInstallProfileTutorialView.swift +++ b/Mail/Views/Sync Profile/SyncInstallProfileTutorialView.swift @@ -103,7 +103,14 @@ struct SyncInstallProfileTutorialView: View { VStack { MailButton(label: MailResourcesStrings.Localizable.buttonGoToSettings) { matomo.track(eventWithCategory: .syncAutoConfig, name: "openSettings") - openURL(URL(string: "App-prefs:")!) + @InjectService var platformDetector: PlatformDetectable + let url: URL + if platformDetector.isMac { + url = DeeplinkConstants.macSecurityAndPrivacy + } else { + url = DeeplinkConstants.iosPreferences + } + openURL(url) } .mailButtonFullWidth(true) if userCameBackFromSettings { diff --git a/Mail/Views/Thread List/ThreadListCellContextMenu.swift b/Mail/Views/Thread List/ThreadListCellContextMenu.swift index fce3ad8d4..06b949efe 100644 --- a/Mail/Views/Thread List/ThreadListCellContextMenu.swift +++ b/Mail/Views/Thread List/ThreadListCellContextMenu.swift @@ -36,7 +36,7 @@ struct ThreadListCellContextMenu: ViewModifier { let thread: Thread private var actions: [Action] { - return (platformDetector.isMacCatalyst || platformDetector.isiOSAppOnMac) ? Action.rightClickActions : [] + return platformDetector.isMac ? Action.rightClickActions : [] } func body(content: Content) -> some View { diff --git a/MailCore/Utils/Constants.swift b/MailCore/Utils/Constants.swift index 81c23e768..97b9f6b8c 100644 --- a/MailCore/Utils/Constants.swift +++ b/MailCore/Utils/Constants.swift @@ -21,6 +21,11 @@ import MailResources import SwiftSoup import SwiftUI +public enum DeeplinkConstants { + public static let macSecurityAndPrivacy = URL(string: "x-apple.systempreferences:com.apple.preference.security")! + public static let iosPreferences = URL(string: "App-prefs:")! +} + public struct URLConstants { public static let testFlight = URLConstants(urlString: "https://testflight.apple.com/join/t8dXx60N") public static let appStore = URLConstants(urlString: "https://apps.apple.com/app/infomaniak-mail/id1622596573") diff --git a/MailCore/Utils/Model/Realm/RealmAccessible.swift b/MailCore/Utils/Model/Realm/RealmAccessible.swift index 3b08512ad..0567bdc30 100644 --- a/MailCore/Utils/Model/Realm/RealmAccessible.swift +++ b/MailCore/Utils/Model/Realm/RealmAccessible.swift @@ -46,7 +46,7 @@ extension RealmAccessible { Logging.reportRealmOpeningError(error, realmConfiguration: realmConfiguration, afterRetry: !canRetry) @InjectService var platformDetector: PlatformDetectable - let isOnMacContext = (platformDetector.isMacCatalyst || platformDetector.isiOSAppOnMac) + let isOnMacContext = platformDetector.isMac guard isOnMacContext else { // Delete configuration for iOS / iPadOS in debug