有没有办法让我的应用程序知道用户添加了Twitter帐户?

时间:2012-05-24 14:12:00

标签: ios twitter

每当您尝试呈现TWTweetComposeViewController并且用户没有将Twitter帐户添加到他们的设备时,系统会提示他们转到“设置”应用并添加一个。完成后,他们必须手动导航回应用程序。

我的申请是否有办法知道他们已成功添加帐户?

2 个答案:

答案 0 :(得分:3)

实际上,有一种方法可以在应用程序运行时通知新帐户。 ACAccountStore提供通知ACAccountStoreDidChangeNotification,您可以使用键值观察来观察更改。

答案 1 :(得分:1)

啊,在这种情况下,您可以跟踪他们首次启动应用时拥有的用户帐户数,将其保存到NSUserDefaults。当你打开TWTweetComposeViewController时检查一下这个数字是否与以前相同。

__block BOOL accountSizeChanged = NO;
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
    if(granted)
    {
        int oldSize = [[NSUserDefaults standardUserDefaults] integerForKey:@"myKey"];
        int newSize = [accountStore accountsWithAccountType:accountType].count;
        if(oldSize != newSize)
            accountSizeChanged = YES;
        [[NSUserDefaults standardUserDefaults] setInteger:newSize forKey:@"myKey"];
    }
}];