@@ -117,8 +117,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
117117 }
118118
119119 Qonversion . launch ( withKey: apiKey) { launchResult, error in
120- if let error = error {
121- return result ( FlutterError . qonversionError ( error . localizedDescription ) )
120+ if let nsError = error as NSError ? {
121+ return result ( FlutterError . qonversionError ( nsError ) )
122122 }
123123
124124 let resultMap = launchResult. toMap ( )
@@ -138,8 +138,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
138138
139139 private func products( _ result: @escaping FlutterResult ) {
140140 Qonversion . products { ( products, error) in
141- if let error = error {
142- return result ( FlutterError . failedToGetProducts ( error . localizedDescription ) )
141+ if let nsError = error as NSError ? {
142+ return result ( FlutterError . failedToGetProducts ( nsError ) )
143143 }
144144
145145 let productsMap = products. mapValues { $0. toMap ( ) }
@@ -154,8 +154,9 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
154154 }
155155
156156 Qonversion . purchase ( productId) { ( permissions, error, isCancelled) in
157+ let nsError = error as NSError ?
157158 let purchaseResult = PurchaseResult ( permissions: permissions,
158- error: error ,
159+ error: nsError ,
159160 isCancelled: isCancelled)
160161 result ( purchaseResult. toMap ( ) )
161162 }
@@ -169,16 +170,17 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
169170 do {
170171 let data = Data ( jsonProduct. utf8)
171172 if let jsonMap = try JSONSerialization . jsonObject ( with: data, options: [ ] ) as? [ String : Any ] {
172-
173+
173174 guard let product = jsonMap. toProduct ( ) else {
174175 let errorMessage = " Failed to deserialize Qonversion Product. There is no qonversionId "
175176 NSLog ( errorMessage)
176177 return result ( FlutterError . noProductIdField ( errorMessage) )
177178 }
178179
179180 Qonversion . purchaseProduct ( product) { ( permissions, error, isCancelled) in
181+ let nsError = error as NSError ?
180182 let purchaseResult = PurchaseResult ( permissions: permissions,
181- error: error ,
183+ error: nsError ,
182184 isCancelled: isCancelled)
183185 result ( purchaseResult. toMap ( ) )
184186 }
@@ -199,8 +201,9 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
199201 promoPurchasesExecutionBlocks. removeValue ( forKey: productId)
200202
201203 executionBlock { ( permissions, error, isCancelled) in
204+ let nsError = error as NSError ?
202205 let purchaseResult = PurchaseResult ( permissions: permissions,
203- error: error ,
206+ error: nsError ,
204207 isCancelled: isCancelled)
205208 result ( purchaseResult. toMap ( ) )
206209 }
@@ -211,8 +214,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
211214
212215 private func checkPermissions( _ result: @escaping FlutterResult ) {
213216 Qonversion . checkPermissions { ( permissions, error) in
214- if let error = error {
215- return result ( FlutterError . qonversionError ( error . localizedDescription ) )
217+ if let nsError = error as NSError ? {
218+ return result ( FlutterError . qonversionError ( nsError ) )
216219 }
217220
218221 let permissionsDict = permissions. mapValues { $0. toMap ( ) }
@@ -222,8 +225,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
222225
223226 private func restore( _ result: @escaping FlutterResult ) {
224227 Qonversion . restore { ( permissions, error) in
225- if let error = error {
226- return result ( FlutterError . qonversionError ( error . localizedDescription ) )
228+ if let nsError = error as NSError ? {
229+ return result ( FlutterError . qonversionError ( nsError ) )
227230 }
228231
229232 let permissionsDict = permissions. mapValues { $0. toMap ( ) }
@@ -233,8 +236,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
233236
234237 private func offerings( _ result: @escaping FlutterResult ) {
235238 Qonversion . offerings { offerings, error in
236- if let error = error {
237- result ( FlutterError . offeringsError ( error . localizedDescription ) )
239+ if let nsError = error as NSError ? {
240+ result ( FlutterError . offeringsError ( nsError ) )
238241 }
239242
240243 guard let offerings = offerings else {
@@ -273,7 +276,9 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
273276 } catch ParsingError . runtimeError( let message) {
274277 result ( FlutterError . parsingError ( message) )
275278 } catch {
276- result ( FlutterError . qonversionError ( error. localizedDescription) )
279+ if let nsError = error as NSError ? {
280+ result ( FlutterError . qonversionError ( nsError) )
281+ }
277282 }
278283 }
279284
@@ -297,8 +302,8 @@ public class SwiftQonversionFlutterSdkPlugin: NSObject, FlutterPlugin {
297302 }
298303
299304 Qonversion . checkTrialIntroEligibility ( forProductIds: ids) { eligibilities, error in
300- if let error = error {
301- return result ( FlutterError . qonversionError ( error . localizedDescription ) )
305+ if let nsError = error as NSError ? {
306+ return result ( FlutterError . qonversionError ( nsError ) )
302307 }
303308
304309 result ( eligibilities. mapValues { $0. toMap ( ) } . toJson ( ) )
0 commit comments