mirror of
https://github.com/XcodesOrg/XcodesApp.git
synced 2026-03-25 08:55:46 +00:00
Merge pull request #306 from leon-wolf/feature/144-add-error-on-uninstall
add error message when trying to uninstall Xcode if file not found
This commit is contained in:
commit
35ae6b7672
5 changed files with 35 additions and 2 deletions
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
/* Begin PBXBuildFile section */
|
||||
36741BFD291E4FDB00A85AAE /* DownloadPreferencePane.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */; };
|
||||
36741BFF291E50F500A85AAE /* FileError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36741BFE291E50F500A85AAE /* FileError.swift */; };
|
||||
536CFDD2263C94DE00026CE0 /* SignedInView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD1263C94DE00026CE0 /* SignedInView.swift */; };
|
||||
536CFDD4263C9A8000026CE0 /* XcodesSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */; };
|
||||
53CBAB2C263DCC9100410495 /* XcodesAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53CBAB2B263DCC9100410495 /* XcodesAlert.swift */; };
|
||||
|
|
@ -172,6 +173,7 @@
|
|||
15FAD1652811D15600B63259 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
25E2FA26284769A00014A318 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
36741BFC291E4FDB00A85AAE /* DownloadPreferencePane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadPreferencePane.swift; sourceTree = "<group>"; };
|
||||
36741BFE291E50F500A85AAE /* FileError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileError.swift; sourceTree = "<group>"; };
|
||||
4A5AAA1D28118FAD00528958 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
536CFDD1263C94DE00026CE0 /* SignedInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignedInView.swift; sourceTree = "<group>"; };
|
||||
536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodesSheet.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -458,6 +460,7 @@
|
|||
CAA858C325A2BE4E00ACF8C0 /* Downloader.swift */,
|
||||
CABFA9B22592EEEA00380FEE /* Entry+.swift */,
|
||||
CABFA9A92592EEE900380FEE /* Environment.swift */,
|
||||
36741BFE291E50F500A85AAE /* FileError.swift */,
|
||||
CABFA9B82592EEEA00380FEE /* FileManager+.swift */,
|
||||
CAFBDB942598FE96003DCC5A /* FocusedValues.swift */,
|
||||
CABFA9AC2592EEE900380FEE /* Foundation.swift */,
|
||||
|
|
@ -841,6 +844,7 @@
|
|||
CAA1CB45255A5B60003FD669 /* SignIn2FAView.swift in Sources */,
|
||||
CABFA9C52592EEEA00380FEE /* FileManager+.swift in Sources */,
|
||||
CABFA9CD2592EEEA00380FEE /* Foundation.swift in Sources */,
|
||||
36741BFF291E50F500A85AAE /* FileError.swift in Sources */,
|
||||
CA9FF8872595607900E47BAF /* InstalledXcode.swift in Sources */,
|
||||
53CBAB2C263DCC9100410495 /* XcodesAlert.swift in Sources */,
|
||||
CA42DD6E25AEA8B200BC0B0C /* Logger.swift in Sources */,
|
||||
|
|
|
|||
23
Xcodes/Backend/FileError.swift
Normal file
23
Xcodes/Backend/FileError.swift
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// FileError.swift
|
||||
// Xcodes
|
||||
//
|
||||
// Created by Leon Wolf on 06.10.22.
|
||||
// Copyright © 2022 Robots and Pencils. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import LegibleError
|
||||
|
||||
enum FileError: LocalizedError{
|
||||
case fileNotFound(_ fileName: String)
|
||||
}
|
||||
|
||||
extension FileError {
|
||||
var errorDescription: String? {
|
||||
switch self {
|
||||
case .fileNotFound(let fileName):
|
||||
return String(format: localizeString("Alert.Uninstall.Error.Message.FileNotFound"), fileName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,7 +11,11 @@ extension FileManager {
|
|||
@discardableResult
|
||||
func trashItem(at url: URL) throws -> URL {
|
||||
var resultingItemURL: NSURL!
|
||||
try trashItem(at: url, resultingItemURL: &resultingItemURL)
|
||||
if fileExists(atPath: url.path) {
|
||||
try trashItem(at: url, resultingItemURL: &resultingItemURL)
|
||||
} else {
|
||||
throw FileError.fileNotFound(url.lastPathComponent)
|
||||
}
|
||||
return resultingItemURL as URL
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@
|
|||
"Alert.Uninstall.Title" = "Xcode %@ deinstallieren?";
|
||||
"Alert.Uninstall.Message" = "Die Anwendung wird in den Papierkorb verschoben, dieser wird aber nicht geleert.";
|
||||
"Alert.Uninstall.Error.Title" = "Die Deinstallation von Xcode ist nicht möglich";
|
||||
"Alert.Uninstall.Error.Message.FileNotFound" = "Datei \"%@\" konnte nicht gefunden werden.";
|
||||
|
||||
// Cancel Install
|
||||
"Alert.CancelInstall.Title" = "Bist du sicher, dass Du die installation von Xcode %@ anhalten möchtest?";
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@
|
|||
"Alert.Uninstall.Title" = "Uninstall Xcode %@?";
|
||||
"Alert.Uninstall.Message" = "It will be moved to the Trash, but won't be emptied.";
|
||||
"Alert.Uninstall.Error.Title" = "Unable to uninstall Xcode";
|
||||
"Alert.Uninstall.Error.Message.FileNotFound" = "Could not find file \"%@\".";
|
||||
|
||||
// Cancel Install
|
||||
"Alert.CancelInstall.Title" = "Are you sure you want to stop the installation of Xcode %@?";
|
||||
|
|
|
|||
Loading…
Reference in a new issue