保存Twitter ACAccount时为什么会出现此错误?

我正在尝试将Twitter帐户保存到ACAccountStore

我正在使用MPOauth对用户进行身份validation(这可以完美地运行,我可以对消息进行身份validation和发布),当我收到访问令牌和访问令牌秘密时,我会继续保存帐户。

首先,我将令牌访问权限仅用于获取令牌本身,而不是用户ID。 在那之后,这是我的代码

 if ([username length] > 0 && [token length] > 0 && [secret length] > 0) { ACAccountStore *accountStore = [[ACAccountStore alloc] init]; ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; ACAccount *account = [[ACAccount alloc] initWithAccountType:accountType]; ACAccountCredential *credentials = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:secret]; [account setCredential:credentials]; [account setUsername:username]; [accountStore saveAccount:account withCompletionHandler:^(BOOL success, NSError *error) { if (success) { NSLog(@"the account was saved!"); } else { NSLog(@"the account was NOT saved"); } [accountStore release]; [account release]; [credentials release]; }]; } 

但从来没有工作过,我明白了

 Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn't be completed. (NSURLErrorDomain error -1012.)" 

我读到这会对在Twitter上validation数据的错误做出响应,这是在保存帐户之前由iOS5框架完成的。

我已经在Twitter上阅读了这个回复和post。

哪里不对?

如果令牌是OAToken,你应该替换它

 ACAccountCredential *credentials = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:token]; 

有了这个

 ACAccountCredential *outhCredential = [[ACAccountCredential alloc] initWithOAuthToken:token.key tokenSecret:token.secret]; 

你应该分别传递key&secret作为第一个和第二个参数。