在 ios 注销时删除 cookie

Removing cookies while logout in ios

我正在开发 iOS 应用程序的登录模块。使用一些用户名和密码登录时,我将用户配置文件作为响应,并将状态作为登录成功。那时我在 NSUserDefaults 中保存登录状态。

点击注销按钮后,我在 NSUserDefaults 中将登录状态设置为 false。但是再次登录另一个登录 ID,我得到的响应是 "already logged in"。我必须删除 iOS 中的任何 cookies 吗? 这是我的示例代码

@IBAction func Login(sender: AnyObject) {

    var mode:NSString = "signin"
    var useremail:NSString = "bbbbbb@ffffff.net"
    //var usermobile:NSString = txtEmail.text
    var pwd:NSString = "123456"//"kKAOWX33zUDlcUpptZOoQA%3D%3D"
    var decrypt:Int = 0//1

    var postString = "http://myaccount.ddddddddd.com/network/sdasdasdasdsh.aspx?"

    var postData = NSString(format:"mode=signin&useremail=%@&pwd=%@&userauth=PPZGySCKmspQ56iALuPpvw==&Decrypt=%d&App=1",useremail,pwd,decrypt)
    var dataExample : NSData = NSData()

    dataExample = postData.dataUsingEncoding(NSUTF8StringEncoding)!

    var postRequest:NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: postString)!)

    postRequest.HTTPMethod = "POST"
    postRequest.HTTPBody = dataExample

    NSURLConnection.sendAsynchronousRequest(postRequest, queue: NSOperationQueue .mainQueue()){ (response : NSURLResponse!, data : NSData!, error : NSError!) -> Void in

        if data != nil && data.length != 0
        {
            println()
            var asyncError = NSError?()
            print(asyncError)

            var strin:NSString = NSString(bytes: data.bytes, length: data.length, encoding: NSUTF8StringEncoding)!

            var jsonValue: NSDictionary? = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions(), error: nil) as? NSDictionary
            NSLog("Result %@",jsonValue!)
            self.loginButton.setTitle("Logout", forState: UIControlState())


        }

}

请帮我解决这个问题。

我想我明白了....

 if status == true{

        NSUserDefaults.standardUserDefaults().setBool(false, forKey: "LoginStatus")

        var mode:NSString = "signin"
        var useremail:NSString = "xxxxx@yyyyy.net"
             ................................
       blah blah blah  go to the end line now 

            var jsonValue: NSDictionary? = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions(), error: nil) as? NSDictionary
            NSLog("Result %@",jsonValue!)
            self.loginButton.setTitle("Logout", forState: UIControlState())
            NSUserDefaults.standardUserDefaults().setBool(true, forKey: "LoginStatus") 

//// 在这里你设置了 LoginStatus 的 bool 值,不管怎样,它总是保持登录状态 }

对于 NSUserDefaults,在设置变量 True 或 False 后随时在设置后写在下面一行。 . .

[[NSUserDefaults standardUserDefaults] synchronize];

因为 NSUserDefaults 每次都需要与应用同步。

最后得到如下答案

 postRequest.HTTPShouldHandleCookies = false