当我运行[_accountStore requestAccessToAccountsWithType:...]时,我没有得到任何回复。我的完成处理程序没有被调用。但是我可以访问twitter。
// Step 0: Check that the user has local Twitter accounts
if ([SLComposeViewController
isAvailableForServiceType:SLServiceTypeTwitter]) {
NSLog(@"OH YES!!!");
// Step 1: Obtain access to the user's Twitter accounts
ACAccountType *twitterAccountType = [_accountStore accountTypeWithAccountTypeIdentifier: ACAccountTypeIdentifierTwitter];
NSLog(@"OH YES!!!");
[_accountStore requestAccessToAccountsWithType:twitterAccountType options:nil
completion:^(BOOL granted, NSError *error)
{
NSLog(@"Im in!");
if (granted == YES)
{
NSArray *arrayOfAccounts = [_accountStore
accountsWithAccountType:twitterAccountType];
if ([arrayOfAccounts count] > 0)
{
ACAccount *twitterAccount = [arrayOfAccounts lastObject];
NSLog(@"%@", twitterAccount.userFullName);
NSLog(@"%@", twitterAccount.username);
NSLog(@"%@", twitterAccount.credential);
NSLog(@"%@", twitterAccount.identifier);
}
}else{
NSLog(@"Failed muahahaha");
}
}];
}
为什么会这样?
答案 0 :(得分:4)
make shure _accountStore已初始化,例如
_accountStore = [[ACAccountStore alloc] init];