改变不会持续
我最近一直在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的:
Yes:
[[NSUserDefaults standardDefaults] 同步];
根据记忆,检查语法。
[[NSUserDefaults standardDefaults] synchronize];
From memory, so check the syntax.