TWTweetComposeViewController を提示しようとすると、デバイスに Twitter アカウントが追加されていないユーザーは常に、設定アプリに移動してアカウントを追加するように求められます。完了したら、手動でアプリケーションに戻る必要があります。
アプリケーションがアカウントを正常に追加したことを知る方法はありますか?
実際、アプリケーションの実行中に新しいアカウントの通知を受ける方法があります。ACAccountStore は、Key-Value Observing を使用して変更を観察できる通知 ACAccountStoreDidChangeNotification を提供します。
ああ、その場合は、アプリを最初に起動したときに持っていたユーザーアカウントの数を追跡し、それを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"];
}
}];