Skip to content

Commit 40251e7

Browse files
authored
Merge pull request #92 from PlayerData/ios-error-codes
fix(ios): Better error messages for iOS upgrades
2 parents 44c0730 + 841c869 commit 40251e7

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

ios/DeviceUpgrade.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,18 @@ extension DeviceUpgrade: FirmwareUpgradeDelegate {
164164
/// - parameter state: The state in which the upgrade has failed.
165165
/// - parameter error: The error.
166166
func upgradeDidFail(inState state: FirmwareUpgradeState, with error: Error) {
167-
self.promise!.reject(Exception(name: "UpgradeFailed", description: error.localizedDescription))
167+
self.promise!.reject(getFirmwareUpgradeException(error))
168+
}
169+
170+
private func getFirmwareUpgradeException(_ error: Error) -> Exception {
171+
switch error {
172+
case FirmwareUpgradeError.invalidResponse(let response):
173+
return Exception(name: "McuMgrInvalidResponse", description: "Invalid response: \(response.description)")
174+
case ImageUploadError.mcuMgrErrorCode(let code), FirmwareUpgradeError.mcuMgrReturnCodeError(let code):
175+
return Exception(name: "McuMgrRemoteError", description: code.description, code: "MCU_MGR_REMOTE_ERROR_\(code._code)")
176+
default:
177+
return Exception(name: "McuMgr_\(String(describing: error.self))", description: error.localizedDescription)
178+
}
168179
}
169180

170181
/// Called when the firmware upgrade has been cancelled using cancel()

0 commit comments

Comments
 (0)