KeychainSwiftCBridge.swift 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. This file can be used in your ObjC project if you want to use KeychainSwift Swift library.
  3. Extend this file to add other functionality for your app.
  4. How to use
  5. ----------
  6. 1. Import swift code in your ObjC file:
  7. #import "YOUR_PRODUCT_MODULE_NAME-Swift.h"
  8. 2. Use KeychainSwift in your ObjC code:
  9. - (void)viewDidLoad {
  10. [super viewDidLoad];
  11. KeychainSwiftCBridge *keychain = [[KeychainSwiftCBridge alloc] init];
  12. [keychain set:@"Hello World" forKey:@"my key"];
  13. NSString *value = [keychain get:@"my key"];
  14. */
  15. @objc public class KeychainSwiftCBridge: NSObject {
  16. let keychain = KeychainSwift()
  17. open var lastResultCode: OSStatus {
  18. get { return keychain.lastResultCode }
  19. }
  20. open var accessGroup: String? {
  21. set { keychain.accessGroup = newValue }
  22. get { return keychain.accessGroup }
  23. }
  24. open var synchronizable: Bool {
  25. set { keychain.synchronizable = newValue }
  26. get { return keychain.synchronizable }
  27. }
  28. @discardableResult
  29. open func set(_ value: String, forKey key: String) -> Bool {
  30. return keychain.set(value, forKey: key)
  31. }
  32. @discardableResult
  33. open func setData(_ value: Data, forKey key: String) -> Bool {
  34. return keychain.set(value, forKey: key)
  35. }
  36. @discardableResult
  37. open func setBool(_ value: Bool, forKey key: String) -> Bool {
  38. return keychain.set(value, forKey: key)
  39. }
  40. open func get(_ key: String) -> String? {
  41. return keychain.get(key)
  42. }
  43. open func getData(_ key: String) -> Data? {
  44. return keychain.getData(key)
  45. }
  46. open func getBool(_ key: String) -> Bool? {
  47. return keychain.getBool(key)
  48. }
  49. @discardableResult
  50. open func delete(_ key: String) -> Bool {
  51. return keychain.delete(key);
  52. }
  53. @discardableResult
  54. open func clear() -> Bool {
  55. return keychain.clear()
  56. }
  57. }