iPhone встречает реализацию Twitter получает ошибку NSURLErrorDomain - PullRequest
1 голос
/ 26 сентября 2010

Я реализовал MGTwitterEngine в моем приложении, и он работает почти идеально.

Первая «странная» вещь, которая происходит, когда я нажимаю UIViewController, где находится форма Twitter, я получаю это в консоли:

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. Тип доступа - «Чтение и запись».

Кто-нибудь знаком с этой проблемой?

Методы делегата, которые я реализовал, таковы:

#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;

}

1 Ответ

3 голосов
/ 26 сентября 2010

Согласно Ссылка на константы основания , NSURLErrorDomain -1012 равен NSURLErrorUserCancelledAuthentication:

Возвращается, когда пользователь отменяет асинхронный запрос на аутентификацию.Обычно это происходит при нажатии кнопки «Отмена» в диалоге имени пользователя / пароля, а не при попытке аутентификации пользователя.

...