diff --git a/BetterCapture/Service/NotificationService.swift b/BetterCapture/Service/NotificationService.swift index e1d54f5..1deba14 100644 --- a/BetterCapture/Service/NotificationService.swift +++ b/BetterCapture/Service/NotificationService.swift @@ -29,6 +29,7 @@ final class NotificationService: NSObject { // MARK: - Properties + private let settings: SettingsStore private let logger = Logger( subsystem: Bundle.main.bundleIdentifier ?? "BetterCapture", category: "NotificationService" @@ -36,7 +37,8 @@ final class NotificationService: NSObject { // MARK: - Initialization - override init() { + init(settings: SettingsStore) { + self.settings = settings super.init() setupNotificationDelegate() registerNotificationCategories() @@ -183,6 +185,8 @@ final class NotificationService: NSObject { // MARK: - Private Methods private func openFolderInFinder(path: String) { + _ = settings.startAccessingOutputDirectory() + defer { settings.stopAccessingOutputDirectory() } let url = URL(filePath: path) NSWorkspace.shared.open(url) } diff --git a/BetterCapture/ViewModel/RecorderViewModel.swift b/BetterCapture/ViewModel/RecorderViewModel.swift index 6be6fb7..5d44eb5 100644 --- a/BetterCapture/ViewModel/RecorderViewModel.swift +++ b/BetterCapture/ViewModel/RecorderViewModel.swift @@ -97,7 +97,7 @@ final class RecorderViewModel { self.audioDeviceService = AudioDeviceService() self.cameraDeviceService = CameraDeviceService() self.previewService = PreviewService() - self.notificationService = NotificationService() + self.notificationService = NotificationService(settings: settings) self.permissionService = PermissionService() self.captureEngine = CaptureEngine() self.assetWriter = AssetWriter()