如何在 ios 从 vk api 注销?
How to logout from vk api on ios?
我在我的 ios 应用程序中集成了带有 vk 按钮的登录。我想添加切换帐户的功能。
我已经尝试 运行 向 http://api.vk.com/oauth/logout
发送网络请求。但它输出 wrong logout hash
.
我使用了这个代码:
let logoutUrl = "http://api.vk.com/oauth/logout"
let request = NSMutableURLRequest(URL: NSURL(string: logoutUrl)!,
cachePolicy:.ReloadIgnoringLocalCacheData,
timeoutInterval:60.0)
let responseData = try! NSURLConnection.sendSynchronousRequest(request, returningResponse: nil)
注销后,我还尝试清除 NSDefaults:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.removeObjectForKey("VKAccessUserId")
defaults.removeObjectForKey("VKAccessToken")
defaults.removeObjectForKey("VKAccessTokenDate")
defaults.synchronize()
并清除 cookie:
let storage = NSHTTPCookieStorage.sharedHTTPCookieStorage()
for cookie in storage.cookies {
let domainName = cookie.domain
let domainRange = domainName.rangeOfString("vk.com")
if(domainRange.length > 0) {
storage.deleteCookie(cookie)
}
}
没有任何帮助
我找到了解决方案。应该调用 VKSdk.forceLogout()
我在我的 ios 应用程序中集成了带有 vk 按钮的登录。我想添加切换帐户的功能。
我已经尝试 运行 向 http://api.vk.com/oauth/logout
发送网络请求。但它输出 wrong logout hash
.
我使用了这个代码:
let logoutUrl = "http://api.vk.com/oauth/logout"
let request = NSMutableURLRequest(URL: NSURL(string: logoutUrl)!,
cachePolicy:.ReloadIgnoringLocalCacheData,
timeoutInterval:60.0)
let responseData = try! NSURLConnection.sendSynchronousRequest(request, returningResponse: nil)
注销后,我还尝试清除 NSDefaults:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.removeObjectForKey("VKAccessUserId")
defaults.removeObjectForKey("VKAccessToken")
defaults.removeObjectForKey("VKAccessTokenDate")
defaults.synchronize()
并清除 cookie:
let storage = NSHTTPCookieStorage.sharedHTTPCookieStorage()
for cookie in storage.cookies {
let domainName = cookie.domain
let domainRange = domainName.rangeOfString("vk.com")
if(domainRange.length > 0) {
storage.deleteCookie(cookie)
}
}
没有任何帮助
我找到了解决方案。应该调用 VKSdk.forceLogout()