1

このコードで使用されているTwitterアカウントがあるかどうかを確認します。

ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

NSArray *arrayOfAccounts = [accountStore accountsWithAccountType:accountType];

twitterアカウントを使用してiOS6シミュレーターで実行すると、arrayOfAccounts.countは1になりますが、iPhone4iOS6ではarrayOfAccounts.count0になります。

私は何が間違っているのですか?

4

1 に答える 1

8

私も同じ問題を抱えていました。このコードを使用してください。

これは、Twitterアカウントアクセスの設定から権限を取得していないため、まず確認する必要があります。

if ([TWRequest class])
            {
                ACAccountStore *account = [[ACAccountStore alloc] init];
                ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:
                                              ACAccountTypeIdentifierTwitter];

                [account requestAccessToAccountsWithType:accountType options:nil
                                              completion:^(BOOL granted, NSError *error)
                 {
                     if (granted == YES)
                     {
                         // Get account and communicate with Twitter API
                         NSArray *arrayOfAccounts = [account
                                                     accountsWithAccountType:accountType];

                         if ([arrayOfAccounts count] > 0)
                         {
                             ACAccount *twitterAccount = [arrayOfAccounts lastObject];
                         }
                  }
                     else
                     {
                         NSLog(@"No Twitter Access Error");
                         return;
                     }
                 }];
            }



            if ([TWRequest class])
            {
                ACAccountStore *as = [[ACAccountStore alloc] init];
                ACAccountType *accountType = [as accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
                NSArray *twitterAccounts = [as accountsWithAccountType:accountType];
                if (!twitterAccounts.count)
                {
                    NSLog(@"No Twitter Account configured");

                    return;
                }
            }
}
于 2012-12-10T08:47:24.060 に答える