KeyboardSharedDataManager.swift 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. // 检查是否已登录
  50. func isLoggedIn() -> Bool {
  51. return getToken() != nil
  52. }
  53. }