@@ -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
120163public extension Error {
0 commit comments