1
我已经在我的应用程序中实现了MGTwitterEngine,它的工作接近完美。iPhone遇到Twitter实现收到NSURLErrorDomain错误
第一个“奇怪”的事情时,我推在Twitter的形式是的UIViewController是happends,我收到这在控制台:
This app was previously authorized for a Twitter account so you can press the second button to send a tweet now.
我该隐藏的登录表单或者你有什么建议?
发生的第二件“奇怪”事情是,当我按下“发送推文”按钮时,它的工作原理和消息在Twitter上发布。 但,我的方法收到一条错误消息:
- (void) twitterXAuthConnectionDidFailWithError: (NSError *)error;
和错误消息是:
Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0xde3edf0 {NSErrorFailingURLKey=https://api.twitter.com/oauth/access_token, NSErrorFailingURLStringKey=https://api.twitter.com/oauth/access_token, NSUnderlyingError=0xde430c0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"}
,我觉得奇怪,因为Twitter的消息发布。但无论如何我都会收到错误信息。
我已经查看了Twitter控制面板中的应用程序设置。访问类型是“阅读&写”。
任何人都熟悉这个问题?
委托方法我实现是这些:
#pragma mark XAuthTwitterEngineDelegate methods
- (void) storeCachedTwitterXAuthAccessTokenString: (NSString *)tokenString forUsername:(NSString *)username
{
NSLog(@"Access token string returned: %@", tokenString);
[[NSUserDefaults standardUserDefaults] setObject:tokenString forKey:kCachedXAuthAccessTokenStringKey];
// Enable the send tweet button.
[loadingIndicator stopAnimating];
self.sendTweetButton.enabled = YES;
}
- (NSString *) cachedTwitterXAuthAccessTokenStringForUsername: (NSString *)username;
{
NSString *accessTokenString = [[NSUserDefaults standardUserDefaults] objectForKey:kCachedXAuthAccessTokenStringKey];
NSLog(@"About to return access token string: %@", accessTokenString);
return accessTokenString;
}
- (void) twitterXAuthConnectionDidFailWithError: (NSError *)error;
{
NSLog(@"Error: %@", error);
[loadingIndicator stopAnimating];
self.sendTweetButton.enabled = TRUE;
}
#pragma mark -
#pragma mark MGTwitterEngineDelegate methods
- (void)requestSucceeded:(NSString *)connectionIdentifier
{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Sent!"
message:@"The tweet is sent!"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Okay", nil];
[alert setTag:0];
[alert show];
[alert release];
[loadingIndicator stopAnimating];
self.sendTweetButton.enabled = TRUE;
}
好的。但我按下了“发送推文”按钮。我没有取消按钮。 – 2010-09-26 17:24:43
某处某处取消了某些内容。发生这种情况,以及这是否是一个问题,是由你来找出。 – 2010-09-26 22:10:59
我通过重新安排委托方法调用来解决它。像这样:http://pastie.org/1186411 – 2010-09-28 13:01:52