From 77bf3cf9a76b1a3a74a2f56f47f5b1062262d547 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Tue, 29 Mar 2022 11:54:34 +0800 Subject: [PATCH] AppInstaller // Use FileManager to handle paths. --- Installer/AppDelegate.swift | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Installer/AppDelegate.swift b/Installer/AppDelegate.swift index 0228e9f9..b9d212c6 100644 --- a/Installer/AppDelegate.swift +++ b/Installer/AppDelegate.swift @@ -22,9 +22,14 @@ import Cocoa private let kTargetBin = "vChewing" private let kTargetType = "app" private let kTargetBundle = "vChewing.app" -private let kDestinationPartial = "~/Library/Input Methods/" -private let kTargetPartialPath = "~/Library/Input Methods/vChewing.app" -private let kTargetFullBinPartialPath = "~/Library/Input Methods/vChewing.app/Contents/MacOS/vChewing" + +private let urlDestinationPartial = FileManager.default.urls(for: .inputMethodsDirectory, in: .userDomainMask)[0] +private let urlTargetPartial = urlDestinationPartial.appendingPathComponent(kTargetBundle) +private let urlTargetFullBinPartial = urlTargetPartial.appendingPathComponent("Contents/MacOS/").appendingPathComponent(kTargetBin) + +private let kDestinationPartial = urlDestinationPartial.path +private let kTargetPartialPath = urlTargetPartial.path +private let kTargetFullBinPartialPath = urlTargetFullBinPartial.path private let kTranslocationRemovalTickInterval: TimeInterval = 0.5 private let kTranslocationRemovalDeadline: TimeInterval = 60.0