如何在 CocoaLibSpotify 注销时清除用户名和密码?

Posted

技术标签:

【中文标题】如何在 CocoaLibSpotify 注销时清除用户名和密码?【英文标题】:How to clear username and password on CocoaLibSpotify logout? 【发布时间】:2012-12-14 15:46:59 【问题描述】:

我正在使用CocoaLibSpotify 库来开发一个使用 Spotify API 的 ios 应用程序。我已经在我想要的地方得到了它,但是我遇到了一些问题。

当用户触摸我的“注销 Spotify”按钮时,我执行以下代码:

-(IBAction)logoutButtonTouched:(id)sender

    // Clear out the user's settings that I am saving.
    NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

    [[SPSession sharedSession] logout:^(void) 
        SPLoginViewController *controller = [SPLoginViewController loginControllerForSession:[SPSession sharedSession]];
        controller.allowsCancel = NO;
    ];

这确实会注销用户并显示SPLoginViewController,但我的问题是,用户名和密码字段仍然包含他们登录时使用的值。当我显示SPLoginViewController 时,有人知道清除这些字段的方法吗?

【问题讨论】:

【参考方案1】:

此功能不在登录控制器中,这确实是一个错误。

你可以这样做。请注意,这是非常脆弱的代码,如果登录控制器的任何内部细节发生变化,它将会失败,并且它在未来:

SPLoginViewController *controller = [SPLoginViewController loginControllerForSession:[SPSession sharedSession]];

id internalLoginViewController = [controller.viewControllers objectAtIndex:0];
UITextField *loginField = [internalLoginViewController valueForKey:@"usernameField"];
UITextField *passwordField = [internalLoginViewController valueForKey:@"passwordField"];
loginField.text = @"";
passwordField.text = @"";

【讨论】:

谢谢!现在肯定可以!

以上是关于如何在 CocoaLibSpotify 注销时清除用户名和密码?的主要内容,如果未能解决你的问题,请参考以下文章

用户在 ASP .NET MVC 5 中注销时如何清除所有会话元素?

如何在 android 中注销后清除 Facebook 字段(图像、姓名、性别)

当应用程序在后台时,如何使用 cocoalibspotify 播放曲目?

注销清除 SharedPreferences

如何在注销期间清除 SharedPreferences? [复制]

在春季安全或角度注销时清除cookie