每当您尝试呈现TWTweetComposeViewController并且用户没有将Twitter帐户添加到他们的设备时,系统会提示他们转到“设置”应用并添加一个。完成后,他们必须手动导航回应用程序。
我的申请是否有办法知道他们已成功添加帐户?
答案 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"];
}
}];