From 2bd4301bfb111d49ea6e36ca2f2824cd23d20af6 Mon Sep 17 00:00:00 2001 From: Ji4n1ng Date: Sun, 21 Jul 2019 09:57:49 +0800 Subject: [PATCH] fix(Core): check home application path --- OpenInTerminalCore/FinderManager.swift | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/OpenInTerminalCore/FinderManager.swift b/OpenInTerminalCore/FinderManager.swift index 7298a9b..ea9cfdf 100644 --- a/OpenInTerminalCore/FinderManager.swift +++ b/OpenInTerminalCore/FinderManager.swift @@ -79,8 +79,21 @@ public class FinderManager { /// Determine if the app exists in the `/Applications` folder private func applicationExists(_ application: String) -> Bool { + let applicationDir = "/Applications" + + var homeApplicationDirURL: URL + if #available(OSX 10.12, *) { + homeApplicationDirURL = FileManager.default.homeDirectoryForCurrentUser + } else { + // Fallback on earlier versions + homeApplicationDirURL = URL(fileURLWithPath: NSHomeDirectory()) + } + homeApplicationDirURL.appendPathComponent("Applications") + do { - return try FileManager.default.contentsOfDirectory(atPath: "/Applications").contains("\(application).app") + let isInApplication = try FileManager.default.contentsOfDirectory(atPath: applicationDir ).contains("\(application).app") + let isInHomeApplication = try FileManager.default.contentsOfDirectory(atPath: homeApplicationDirURL.path).contains("\(application).app") + return isInApplication || isInHomeApplication } catch { return false }