iOS 后台访问令牌刷新



我希望通过在后台刷新令牌来延长访问令牌的到期时间。到期时间目前设置为 30 分钟(服务器端(,此值不会更改,其想法是每 29 分钟我将调用一个刷新访问令牌的方法,以使其再存活 1 个半小时(意味着访问令牌保持活动状态近 2 小时(。我已经读到后台任务最多需要 5 秒才能完成,然后如果需要更多时间来使用 UIKit,尽管这只允许再过几分钟来完成所需的任务。

是否有任何特殊情况允许我在后台执行此操作,或者是否有更好的方法可以执行此操作?感谢您的任何帮助!

在 AppDelegate 中.swift执行此操作。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
Timer.scheduledTimer(timeInterval: (60.0 * 29.0), target: self, selector: #selector(self.doThisEvery29Min), userInfo: nil, repeats: true)
return true
}
@objc func doThisEvery29Min () {
if Constant.uToken != nil {
ServiceManager.sharedInstance.RefreshTokens() {
(result) in
switch result {
case .Success(let responce):
// update token
case .FailureDueToService(let error):
print(error)
break
case .Failure(let error):
print(error)
break
}
}
}
}

最新更新