From a5bb8bc2815f1b293799ca99701f5a7f4ca9993d Mon Sep 17 00:00:00 2001 From: Jerrad Thramer Date: Thu, 9 Nov 2017 15:43:42 -0700 Subject: [PATCH] Fixing issue where a missing (or invalid) value for `distanceMeasurementSystem` keypath would cause initializer to fail entirely. --- MapboxDirections/MBRouteOptions.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/MapboxDirections/MBRouteOptions.swift b/MapboxDirections/MBRouteOptions.swift index 631cdde7b..fa474acb4 100644 --- a/MapboxDirections/MBRouteOptions.swift +++ b/MapboxDirections/MBRouteOptions.swift @@ -231,10 +231,9 @@ open class RouteOptions: NSObject, NSSecureCoding, NSCopying{ includesSpokenInstructions = decoder.decodeBool(forKey: "includesSpokenInstructions") - guard let distanceMeasurementSystem = MeasurementSystem(description: decoder.decodeObject(of: NSString.self, forKey: "distanceMeasurementSystem") as String? ?? "") else { - return nil + if let distanceMeasurementSystem = MeasurementSystem(description: decoder.decodeObject(of: NSString.self, forKey: "distanceMeasurementSystem") as String? ?? "") { + self.distanceMeasurementSystem = distanceMeasurementSystem } - self.distanceMeasurementSystem = distanceMeasurementSystem } open static var supportsSecureCoding = true