首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

iOS App 卸載時無回調方法:正確處理登錄狀態同步

     編輯:程式設計疑難解答

結論

iOS 沒有提供 App 被用戶卸載時的回調方法。系統直接刪除 App 沙盒,不執行任何代碼。

錯誤做法

嘗試在 `applicationWillTerminate`、`deinit` 或推送通知中通知服務器「我被卸載了」——不可行。

正確架構:服務器端控制會話狀態

  1. Token 過期機制:登錄簽發短效 Access Token(如 2 小時)+ 長效 Refresh Token(如 30 天)。App 啟動時用 Refresh Token 換新 Access Token。
  2. 設備註冊表:服務器記錄 `user_id -> device_id + last_active_time`。登錄新設備時,標記舊設備 Token 失效。
  3. 心跳/定時清理:若某設備超過 N 天無請求,自動註銷其 Token。
  4. App 端主動登出:提供「退出登錄」按鈕調用登出 API,刷新服務器狀態。

優勢

  • 不依賴客戶端不可控的生命週期事件。
  • 支持多設備登錄策略(踢下線、共存等)。
  • 安全性更高,Token 可隨時撤銷。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved