diff --git a/src/iOS.Core/Services/Settings.cs b/src/iOS.Core/Services/Settings.cs index a08825723..6bb7b3cde 100644 --- a/src/iOS.Core/Services/Settings.cs +++ b/src/iOS.Core/Services/Settings.cs @@ -1,5 +1,4 @@ - -using System; +using System; #if __UNIFIED__ using Foundation; #else @@ -230,6 +229,50 @@ namespace Bit.iOS.Core.Services } } } - } + /// + /// Clear all keys from settings + /// + public void Clear() + { + lock(locker) + { + var defaults = _defaults; + try + { + defaults.RemovePersistentDomain(NSBundle.MainBundle.BundleIdentifier); + defaults.Synchronize(); + } + catch(Exception ex) + { + Console.WriteLine("Unable to clear all defaults. Message: " + ex.Message); + } + } + } + + /// + /// Checks to see if the key has been added. + /// + /// Key to check + /// True if contains key, else false + public bool Contains(string key) + { + lock(locker) + { + var defaults = _defaults; + try + { + var nsString = new NSString(key); + var setting = defaults.ValueForKey(nsString); + return setting != null; + } + catch(Exception ex) + { + Console.WriteLine("Unable to clear all defaults. Message: " + ex.Message); + } + + return false; + } + } + } }