2013-03-13 3 views
1

Je suis en train de mettre en œuvre connexion par facebook dans une application ios de Xamarin, Après un exemple de monotouch-bindings je vérifie si l'utilisateur est connecté AppDelegate en utilisant ceci:xamarin.ios/MonoTouch facebook rappel

var sessionDelegate = new SessionDelegate (this); 
facebook = new Facebook (AppId, sessionDelegate); 
if (facebook.IsSessionValid) { 
    ShowLoggedIn(); 
} 
else 
{ 
    ShowLoggedOut(); 
} 

Le problème est que lorsque l'utilisateur n'est pas connecté, je navigue vers un autre viewController pour qu'il se connecte. Quand il tente de se connecter, l'application Facebook s'ouvre, mais après le login, je ne reçois pas le rappel. Si je fais tout le flux dans AppDelegate, alors le callback fonctionne. J'ai remarqué que dans AppDelegate il y a 2 remplacements mis en œuvre:

public override bool HandleOpenURL 

et

public override bool OpenUrl 

Ils renvoient toutes les deux return facebook.HandleOpenURL (url); facebook est déclarée dans le AppDelegate, mais aussi dans la connexion viewController, donc je suppose que cela fait partie du problème. Je suis nouveau sur iOS et mono touch, donc j'espère que cela a du sens. Des idées pour le résoudre? ou peut-être un exemple où la connexion Facebook n'est pas effectuée à partir de l'AppDelegate?

Merci!

Répondre

1

J'ai passé plusieurs heures cette semaine aussi, essayant de le faire fonctionner, et mon problème était comme le vôtre. Oui, vous devez remplacer OpenUrl, sinon vous ne serez pas capable de gérer quoi que ce soit dans le FBsession, c'est pourquoi cela ne fonctionne pas pour vous.

donc mettre en œuvre comme décrit dans l'exemple délicieux, et il devrait fonctionner :) Scrumptious

+0

Oui, je sais le remplacement est nécessaire. Mais comment puis-je obtenir un rappel lorsque j'essaie de me connecter à partir d'une autre vue (pas à partir de AppDelegate)? –

+0

Je ne suis pas sûr de ce que vous voulez dire? N'avez-vous pas un viewcontroller de connexion? –

Questions connexes