改变不会持续

发布于 2024-09-29 11:23:55 字数 367 浏览 5 评论 0原文

我最近一直在使用 Dropbox API,但遇到了一个令人恼火但有趣的障碍。 SDK 将 OAuth 令牌保存在 standardUserDefaults 中,如果用户想要禁用 Dropbox 功能,则必须删除 OAuth 令牌(否则 SDK 会找到它们并开始工作)。

这是奇怪的部分:无论我使用 SDK 方法 [[DBSession sharedSession] unlink] 还是只是使用 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"kDBDropboxSavedCredentialsKey"] (这实际上是该方法的一部分,更改不会在应用程序启动时持续存在)密钥在当前会话期间被删除,但当应用程序再次启动时它会重新生成。

I've been working with the Dropbox API as of late, and have run into an infuriating but interesting snag. The SDK saves OAuth tokens in standardUserDefaults, and if the user wants to disable the Dropbox functionality the OAuth tokens have to be removed (otherwise the SDK finds them and goes off to work).

Here's the weird part: whether I use the SDK method [[DBSession sharedSession] unlink] or simply a [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"kDBDropboxSavedCredentialsKey"] (which is actually part of the method, the change does not persist across app launches. The key is deleted for the duration of the current session, but it regenerates when the app is launched again. Am I missing something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜味超标? 2024-10-06 11:23:55

是的:

[[NSUserDefaults standardUserDefaults] synchronize];

Yes:

[[NSUserDefaults standardUserDefaults] synchronize];
东走西顾 2024-10-06 11:23:55

[[NSUserDefaults standardDefaults] 同步];

根据记忆,检查语法。

[[NSUserDefaults standardDefaults] synchronize];

From memory, so check the syntax.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文