@@ -335,6 +335,14 @@ public struct AppEnvironment: AppEnvironmentType {
335335 )
336336 }
337337
338+ private static func logKeychainError( _ error: KeychainError ) {
339+ Crashlytics . crashlytics ( ) . record ( error: error. nsError)
340+ }
341+
342+ private static func logUnknownError( _ error: Error ) {
343+ Crashlytics . crashlytics ( ) . record ( error: error)
344+ }
345+
338346 internal static let accountNameForKeychain = " kickstarter_currently_logged_in_user "
339347
340348 private static func storeOAuthTokenToKeychain( _ oauthToken: String ) -> Bool {
@@ -346,8 +354,10 @@ public struct AppEnvironment: AppEnvironmentType {
346354 do {
347355 try Keychain . storePassword ( oauthToken, forAccount: self . accountNameForKeychain)
348356 return true
357+ } catch let error as KeychainError {
358+ logKeychainError ( error)
349359 } catch {
350- Crashlytics . crashlytics ( ) . record ( error : error)
360+ self . logUnknownError ( error)
351361 }
352362
353363 return false
@@ -361,8 +371,10 @@ public struct AppEnvironment: AppEnvironmentType {
361371
362372 do {
363373 return try Keychain . fetchPassword ( forAccount: self . accountNameForKeychain)
374+ } catch let error as KeychainError {
375+ logKeychainError ( error)
364376 } catch {
365- Crashlytics . crashlytics ( ) . record ( error : error)
377+ self . logUnknownError ( error)
366378 }
367379
368380 return nil
@@ -374,8 +386,10 @@ public struct AppEnvironment: AppEnvironmentType {
374386 do {
375387 try Keychain . deletePassword ( forAccount: self . accountNameForKeychain)
376388 return true
389+ } catch let error as KeychainError {
390+ logKeychainError ( error)
377391 } catch {
378- Crashlytics . crashlytics ( ) . record ( error : error)
392+ self . logUnknownError ( error)
379393 }
380394
381395 return false
0 commit comments