2010-06-08 6 views
0

J'ai utilisé Facebook SDK sur mon application. Après avoir appuyé sur "Ajouter de l'alimentation à votre mur", l'alerte s'affiche avec "OUI" ou "NON". Si je choisis "OUI" le FBStreamDialoy vient de disparaître.FaceBook Problèmes UIAlertView

D'abord, cliquez sur le bouton "Ajouter un flux à votre mur" pour appeler changeFeed: Fonction:

-(IBAction) changeFeed 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sporting Summer Festival Monte-Carlo" message:@"Are you attending this concert?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes",nil]; 
    [alert show]; 
    alert.tag = 1; 
    self.alertView =alert; 
    [alert release]; 

} 

Ensuite, appuyez sur la touche "OUI". Appelez cette fonction:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 0) { 
     NSLog(@"NO"); 
    } 
    else 
    { 
     NSLog(@"YES"); 
     [self showAddFeed]; 
    } 

} 

Et ceci est la fonction showAddFeed, qui est défini devant clickButtonAtIndex.

-(void)showAddFeed 
{ 
FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease]; 
    dialog.delegate= self; 
    dialog.userMessagePrompt = @"*****"; 
     [dialog show]; 
} 

Je ne peux pas bien travailler. Je ne sais pas pourquoi? Merci de votre aide.

Réponse ------------ est --------------------------

[self performSelector:@selector(fbButtonClick) withObject:nil afterDelay:0.10]; 

Répondre

1

Appelez-le après un délai de 0,1 sec [self performSelector: @selector (fbButtonClick) withObject: nil afterDelay: 0.10];

0

Le problème est que vous écoutez:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

qui devrait être:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 

Parce qu'à la fonction clickedButtonAtIndex la vue est pas fermée et cela peut causer des problèmes.

Edit: Pour le faire fonctionner dans iOS 4 ajouter votre facebook appel de connexion à une méthode et appeler la fonction suivante dans la didDismissWithButtonIndex:

[auto performSelectorOnMainThread: @selector (facebookOpenAction) withObject: waitUntilDone nil: NO ]