1

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

我的应用程序有什么方法可以知道他们已经成功添加了一个帐户?

4

2 回答 2

3

实际上,有一种方法可以在您的应用程序运行时收到新帐户的通知。ACAccountStore 提供通知 ACAccountStoreDidChangeNotification,您可以使用 Key-Value Observing 观察更改。

于 2012-06-01T17:27:40.340 回答
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"];
    }
}];
于 2012-05-24T15:06:01.147 回答