在用户允许我的应用访问他们的 Twitter 帐户后,他们仍然可以进入设置应用并通过点击开关来撤销访问:
发生这种情况时,我的应用程序需要显示正确的注销图形。我可以在 iOS 5中毫无问题地做到这一点,因为当我的应用程序的访问权限被撤销时[TWTweetComposeViewController canSendTweet]
返回。NO
但是,在 iOS 6中,即使在访问权限被撤销后canSendTweet
仍会继续返回。YES
所以在 iOS 6 中,我的 UI 处于错误状态。有没有其他方法可以在 iOS 6 中正确检测到这一点?
- (id) init
{
if (self = [super init]) {
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(accountStatusDidChange:)
name:ACAccountStoreDidChangeNotification object:nil];
}
return self;
}
- (void) accountStatusDidChange:(NSNotification *)notification
{
if ([TWTweetComposeViewController canSendTweet]) {
NSLog(@"app can still access Twitter account in iOS 5");
NSLog(@"always hits this path in iOS 6");
} else {
NSLog(@"app permission removed by user in iOS 5");
}
}
顺便说一句,canSendTweet上的文档是错误的。关闭开关后无法再访问 Twitter。
返回您是否可以发送 Twitter 请求。
是,如果可以访问Twitter并且至少设置了一个帐户;否则否。可用性
Available in iOS 5.0 and later.
在 TWTweetComposeViewController.h 中声明