2013-03-05 2 views
0

Je développe une application pour IOS, en utilisant le plus récent SDK de Facebook.ios facebook loginUI est vide?

Le but est de permettre à l'utilisateur d'afficher un message avec une image sur son mur.

J'utilise FBSession.openActiveSessionWithReadPermission pour établir une connexion, après que l'application suppose d'utiliser FBNativeDialogs pour publier. Mais je ne suis pas sûr pourquoi je continue à obtenir ce résultat: http://img90.imageshack.us/img90/4623/screenshot2013030510421.png

L'interface de connexion suppose pour me demander la permission, non? Au lieu de cela, il ne me montre rien mais une page blanche. La propriété completionHandler de openActiveSession n'est pas appelée également, indique que l'interface de connexion ne retourne pas à mon application. Je suis assez nouveau à l'intégration de facebook, s'il vous plaît aidez-moi.

J'utilise les codes suivants pour établir une connexion, bundle ID et l'ID d'application sont déjà sauvegardés sur facebook console apps:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    [FBSession openActiveSessionWithReadPermissions:nil 
            allowLoginUI:YES 
           completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
            [self sessionStateChanged:session state:state error:error]; 
           }]; 

} 

Cette étape conduit à l'interface de connexion vide indiqué ci-dessus, et la completionHandler n'est pas se faire appeler.

J'ai d'autres étapes pour acquérir l'autorisation de publication et utiliser la boîte de dialogue native pour poster des messages, mais comme je ne peux pas passer cette étape, je ne pense pas qu'il soit nécessaire de les inclure.

Répondre

0

Dans le didacticiel Facebook openActiveSessionWithReadPermissions: allowLoginUI: completionHandler: est appelé dans appDelegate dans la méthode openSession et cette méthode est déclenchée par le bouton de connexion. Vous l'appelez depuis un contrôleur de vue dans viewDidLoad. Il devrait vraiment être déclenché par un bouton, pas un chargement de vue. Avez-vous essayé quelque chose comme:

- (IBAction)performLogin:(id)sender{ 

SCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate; 
[appDelegate openSession]; 

avec openActiveSessionWithReadPermissions: mis en œuvre dans les délégués openSession méthode? Aussi, vous pouvez poster plus de votre code.

+0

Merci pour la réponse, je J'ai inclus le code. Oui, j'ai lu le tutoriel plusieurs fois, mais j'ai toujours ce problème, peut-être que j'ai raté quelque chose? –

+0

J'ai essayé de mettre [openSession] dans appDelegate, et je l'ai aussi activé avec un bouton, mais il me montre toujours une page blanche. Par ailleurs, j'ai testé le code sur un émulateur iOS sans FB app installé, il est capable d'afficher la page d'autorisation dans safari - http://img163.imageshack.us/img163/8250/iossimulatorscreenshot0.png - mais montre "adresse erreur "invalide" lorsque je clique sur le bouton OK. Je suppose que cela a quelque chose à voir avec mon installation de l'application FB, je vais essayer encore plus ce soir. –

0

Contrôlé le paramètre facebook, se révèle je ne signais pas même, depuis si longtemps que je supposais que je l'ai fait, et il me faisait tellement mal ...