Skip to content

Commit 9f9f6a6

Browse files
committed
detail OSSystemExtensionError description
1 parent 7a6b141 commit 9f9f6a6

1 file changed

Lines changed: 44 additions & 1 deletion

File tree

Sources/SystemExtensionKit/SystemExtensionKit+.swift

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@ public extension SystemExtensionKit {
2828
case .extensionBundleIdMissing(let urlStr):
2929
return "Failed to get bundleIdentifier of system extensions bundle with URL: \(urlStr)"
3030
case .extensionRequestFailed(let error):
31-
return "Failed to request extension: \(error.localizedDescription)"
31+
let errorDescription: String
32+
if let error = error as? OSSystemExtensionError {
33+
errorDescription = error.code.description
34+
} else {
35+
errorDescription = error.localizedDescription
36+
}
37+
return "Failed to request extension: \(errorDescription)"
3238
case .extensionNeedReboot:
3339
return "Failed to request extension: user need to reboot mac"
3440
case .extensionSystemUnsupport:
@@ -115,6 +121,43 @@ public extension SystemExtensionKit {
115121
}
116122
}
117123

124+
// MARK: - OSSystemExtensionError Code Description
125+
126+
extension OSSystemExtensionError.Code: CustomStringConvertible {
127+
public var description: String {
128+
switch self {
129+
case .unknown:
130+
return "unknown"
131+
case .missingEntitlement:
132+
return "Missing Entitlement"
133+
case .unsupportedParentBundleLocation:
134+
return "Unsupported Parent Bundle Location"
135+
case .extensionNotFound:
136+
return "Extension Not found"
137+
case .extensionMissingIdentifier:
138+
return "Extension Missing Identifier"
139+
case .duplicateExtensionIdentifer:
140+
return "Duplicate Extension Identifier"
141+
case .unknownExtensionCategory:
142+
return "Unknown Extension Category"
143+
case .codeSignatureInvalid:
144+
return "Code Signature Invalid"
145+
case .validationFailed:
146+
return "Validation Failed"
147+
case .forbiddenBySystemPolicy:
148+
return "Forbidden by System Policy"
149+
case .requestCanceled:
150+
return "Request Cancelled"
151+
case .requestSuperseded:
152+
return "Request Superceeded"
153+
case .authorizationRequired:
154+
return "Authorization Required"
155+
@unknown default:
156+
return "unknown"
157+
}
158+
}
159+
}
160+
118161
// MARK: - Error Convinience
119162

120163
public extension Error {

0 commit comments

Comments
 (0)