J'essaie de faire fonctionner Twitter dans mon application et tout fonctionne bien, sauf le code ne semble pas reconnaître une erreur de Twitter. Si le nom d'utilisateur/mot de passe ne sont pas valides, je reçois un message d'erreur par cette fonction:http authenitcation dans Xcode
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString* strData = [[[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSASCIIStringEncoding] autorelease];
NSLog(@"Received data: %@", strData) ;
return ;
}
Il imprime: les données reçues: Impossible vous authentifier. .
Toutefois, l'application continue à afficher un tweet que j'ai et ignore l'erreur. De toute évidence, je n'ai pas de configuration adéquate pour détecter une telle erreur de la part de Twitter, alors ma question est de savoir comment obtenir que Xcode reconnaisse une telle erreur? Cela utilise http auth btw de base et ne mentionne rien à propos d'OAuth ... essayant juste de faire fonctionner ceci pour l'instant.
-(void) onLogin:(id)sender
{
[loading1 startAnimating];
NSString *postURL = @"http://twitter.com/account/verify_credentials.xml";
NSMutableURLRequest *request = [ [ NSMutableURLRequest alloc ] initWithURL: [ NSURL URLWithString:postURL ] ];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (!theConnection)
{
UIAlertView* aler = [[UIAlertView alloc] initWithTitle:@"Network Error" message:@"Failed to Connect to twitter" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:nil];
[aler show];
[aler release];
}
else
{
receivedData = [[NSMutableData data] retain];
}
[request release];
}
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if ([challenge previousFailureCount] == 0 && ![challenge proposedCredential])
{
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:txtUsername.text
password:txtPassword.text
persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
}
else
{
isAuthFailed = YES;
[[challenge sender] cancelAuthenticationChallenge:challenge];
}
}
Je sais presque rien sur les choses internet alors s'il vous plaît essayer de me aider – fraggleRockz
Cela n'a rien à voir avec Xcode - Xcode est juste un IDE - vous dire probablement Objective-C et CocoaTouch. –