KeyboardSharedDataManager.swift 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // KeyboardSharedDataManager.swift
  3. // Runner
  4. //
  5. // Created by Destiny on 2025/5/7.
  6. //
  7. import Foundation
  8. class KeyboardSharedDataManager {
  9. static let shared = KeyboardSharedDataManager()
  10. // App Group标识符,需要在主应用和键盘扩展中保持一致
  11. private let appGroupIdentifier = "group.com.qihuan.zhuiaijianpan"
  12. // 共享的UserDefaults
  13. private lazy var sharedUserDefaults: UserDefaults? = {
  14. return UserDefaults(suiteName: appGroupIdentifier)
  15. }()
  16. private init() {}
  17. // 保存Token
  18. func saveToken(_ token: String) {
  19. sharedUserDefaults?.set(token, forKey: "user_token")
  20. sharedUserDefaults?.synchronize()
  21. }
  22. // 获取Token
  23. func getToken() -> String? {
  24. return sharedUserDefaults?.string(forKey: "user_token")
  25. }
  26. // 清除所有数据
  27. func clearAuthToken() {
  28. sharedUserDefaults?.removeObject(forKey: "user_token")
  29. sharedUserDefaults?.synchronize()
  30. }
  31. // 保存idfv
  32. func saveInitIDFV(_ idfv: String) {
  33. sharedUserDefaults?.set(idfv, forKey: "init_idfv")
  34. sharedUserDefaults?.synchronize()
  35. }
  36. // 获取idfv
  37. func getInitIDFV() -> String? {
  38. return sharedUserDefaults?.string(forKey: "init_idfv")
  39. }
  40. // 保存idfa
  41. func saveInitIDFA(_ idfa: String) {
  42. sharedUserDefaults?.set(idfa, forKey: "init_idfa")
  43. sharedUserDefaults?.synchronize()
  44. }
  45. // 获取idfa
  46. func getInitIDFA() -> String? {
  47. return sharedUserDefaults?.string(forKey: "init_idfa")
  48. }
  49. func saveIsShowGuide() {
  50. sharedUserDefaults?.set(true, forKey: "is_show_guide")
  51. sharedUserDefaults?.synchronize()
  52. }
  53. func getIsShowGuide() -> Bool? {
  54. return sharedUserDefaults?.bool(forKey: "is_show_guide")
  55. }
  56. // 检查是否已登录
  57. func isLoggedIn() -> Bool {
  58. return getToken() != nil
  59. }
  60. }