KeyboardSharedDataManager.swift 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. // 保存系统键盘数据
  18. func saveSystemkeyboard(_ info: String) {
  19. sharedUserDefaults?.set(info, forKey: "system_keyboard")
  20. sharedUserDefaults?.synchronize()
  21. }
  22. // 获取系统键盘数据
  23. func getSystemkeyboard() -> String? {
  24. return sharedUserDefaults?.string(forKey: "system_keyboard")
  25. }
  26. // 保存Token
  27. func saveToken(_ token: String) {
  28. sharedUserDefaults?.set(token, forKey: "user_token")
  29. sharedUserDefaults?.synchronize()
  30. }
  31. // 获取Token
  32. func getToken() -> String? {
  33. return sharedUserDefaults?.string(forKey: "user_token")
  34. }
  35. // 清除所有数据
  36. func clearAuthToken() {
  37. sharedUserDefaults?.removeObject(forKey: "user_token")
  38. sharedUserDefaults?.synchronize()
  39. }
  40. // 保存idfv
  41. func saveInitIDFV(_ idfv: String) {
  42. sharedUserDefaults?.set(idfv, forKey: "init_idfv")
  43. sharedUserDefaults?.synchronize()
  44. }
  45. // 获取idfv
  46. func getInitIDFV() -> String? {
  47. return sharedUserDefaults?.string(forKey: "init_idfv")
  48. }
  49. // 保存idfa
  50. func saveInitIDFA(_ idfa: String) {
  51. sharedUserDefaults?.set(idfa, forKey: "init_idfa")
  52. sharedUserDefaults?.synchronize()
  53. }
  54. // 获取idfa
  55. func getInitIDFA() -> String? {
  56. return sharedUserDefaults?.string(forKey: "init_idfa")
  57. }
  58. func saveIsShowGuide() {
  59. sharedUserDefaults?.set(true, forKey: "is_show_guide")
  60. sharedUserDefaults?.synchronize()
  61. }
  62. func getIsShowGuide() -> Bool? {
  63. return sharedUserDefaults?.bool(forKey: "is_show_guide")
  64. }
  65. // 检查是否已登录
  66. func isLoggedIn() -> Bool {
  67. return getToken() != nil
  68. }
  69. }