2011-05-27 3 views
0

j'ai suivi l'exemple d'authentification unique sur le site des développeurs Facebook, mais reçois un message d'avertissement étrange quand je l'appelle le message authorize:Facebook erreur SSO référence passe de délégué App

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [_window makeKeyAndVisible]; 

    facebook = [[Facebook alloc] initWithAppId:@"(my app's ID number)"]; 
    [facebook authorize:nil delegate:self]; 

    //[_window addSubview:viewController.view]; 
    //[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES]; 

    return YES; 
} 

La deuxième ligne avec l'avertissement: « Envoi QueryTestingAppDelegate au paramètre de type incompatible « id ».

le projet construit et fonctionne, mais ne fera rien Facebook liés.

(j'ai le bon ID App # rempli dans le code)

Répondre

2

Dans le fichier d'en-tête AppDelegate, avez-vous vérifié que le protocole FBSessionDelegate était implémenté?

à savoir

#import "FBConnect.h" 

@interface QueryTestingAppDelegate : NSObject <UIApplicationDelegate, FBSessionDelegate> 

La documentation Facebook n'est pas très clair sur ce point, mais je pense que cela devrait fixer l'avertissement.

+0

Oh Seigneur, vous avez fait que ça a l'air facile, très bien! Pourriez-vous expliquer ce qui s'est passé là-bas pour référence future? – Chris

+0

@Chris L'objet Facebook a besoin d'un délégué pour agir en son nom lorsque votre application reçoit des réponses de Facebook. Pour les tâches SSO, cela est généralement effectué dans AppDelegate ou un objet wrapper. Parce que vous n'aviez pas dit au compilateur que votre AppDelegate comprendra quoi faire lorsque l'objet Facebook lui envoie un message, il supposait qu'il ne le comprendrait pas. Je pense que la documentation de Facebook omet cette ligne pour les choses SSO, mais il devrait devenir plus clair lorsque vous commencez à faire des demandes API Graph :) – deftangel

Questions connexes