ios - 如何在 iOS 网络应用中保持连接?
问题描述
我正在开发一个需要用户登录的 iOS 网络应用程序。目前,当应用程序关闭或进入后台以及用户重新打开应用程序时,我将 cookie 存储在钥匙串中,我加载存储的数据并记下 cookie。但我的问题是我不知道如何重新加载网站以避免用户需要租用他的凭据。
这是我加载cookies的方法
func loadCookies(){
print("loading")
let url = URL(string: "mobi.kronos-sport.com")!
let keychain = KeychainSwift()
let data=keychain.allKeys
for key in data {
let value = keychain.get(key)!
var dayComponent = DateComponents()
dayComponent.day=21
let theCalendar = Calendar.current
let nextDate = theCalendar.date(byAdding: dayComponent, to: Date())
print("k \(key) v \(value)")
let httpCookie = HTTPCookie.init(properties:
[HTTPCookiePropertyKey.version : "0",
HTTPCookiePropertyKey.name : key,
HTTPCookiePropertyKey.path : "/",
HTTPCookiePropertyKey.value : value,
HTTPCookiePropertyKey.expires : nextDate])
if let cookie = httpCookie {
HTTPCookieStorage.shared.setCookie(cookie)
}
}
}
控制台日志显示它找到了正确的键/值对
解决方案
似乎有一个服务器端配置阻止恢复会话(cookie cookie 安全)
推荐阅读
- c# - 删除数据库表中的记录
- mysql - Mac High Sierra 无法使用主机“localhost”连接到 MariaDB
- android-studio - Android Studio“无法解析符号'R'”
- mysql - MySql Left join with find_in_set 不能正常工作?
- git - .git/info/exclude 不排除未跟踪的文件
- davinci - 从 arecord 到 mcasp 编解码器的旅程
- mysql - MySQL插入使用功能不起作用
- android - 无法选择是免费还是付费安卓应用
- shell - awk 多个字段中的多个字符串
- vba - VBA 将交替列复制到相邻列