Facebook bouton de Connexion rapide
Dans Xcode si je crée un UIView
puis ajouter la classe personnalisée comme FBSDKLoginButton
, quand je clique il me conduit par le Facebook login puis me renvoie à la même page que le FBSDKLoginButton
mais au lieu de dire: bouton de connexion il dit journal maintenant. Comment aurais-je aller sur le faire que lorsque la connexion bouton est cliqué, il conduit à un nouveau point de vue?
J'ai téléchargé le Facebook SDK par cocoapods et sa ma première fois de travailler avec elle donc je suis confus au sujet de cette. Merci pour l'aide!
Vous devriez vérifier pour le succès de rappel (c'est à dire connecté = succès) dans la vue. Si vous êtes connecté, vous pouvez "rediriger" à un autre point de vue.
Cela peut être une question stupide, mais comment dois-je faire car il n'y a pas de code dans la vue-contrôleur?
Cela peut être une question stupide, mais comment dois-je faire car il n'y a pas de code dans la vue-contrôleur?
OriginalL'auteur Soporificdreamer | 2015-04-20
Vous devez vous connecter pour publier un commentaire.
Une option consisterait à définir votre vue-contrôleur en tant que délégué de la
FBSDKLoginButton
et de mettre en œuvre laloginButton:didCompleteWithResult:erreur:
la méthode qui est appelée lorsque le bouton est utilisé pour la connexion.Swift
Obj-C
Puis, dans la
loginButton:didCompleteWithResult:error:
méthode, vous pouvez vérifier laresult
eterror
, et si tout va bien, naviguez jusqu'à un autre point de vue.Swift
Obj-C
Vous pouvez trouver plus d'informations sur comment se connecter avec FB dans leurs docs.
OriginalL'auteur veducm
Dans Swift qui serait quelque chose comme:
Puis dans votre TargetViewController ajouter un déroulement de la fonction:
performSegueWithIdentifier("unwindToViewOtherController", sender: self)
à l'intérieur deif (FBSDKAccessToken.currentAccessToken() != nil)
n'est pas de chargement suivant viewcontroller. U s'il vous plaît aidez-moi avec ça???Dans le scénarimage, sélectionnez le déroulement des enchaînements et ensuite l'attribut de l'inspecteur. De là, vous devriez avoir
unwindToViewOtherController
Identifiant etunwindToViewOtherController:
Action.J'ai dû ajouter
viewDidAppear
fonction et écrireperformSegueWithIdentifier
. Qui a résolu le problème. Nous ne pouvons pas avoirperformSegueWithIdentifier
à l'intérieur deviewDidLoad
fonction, c'est ce que j'ai appris à partir de google. Pourriez-vous svp m'aider à savoir pourquoi?Vous ne pouvez pas rejeter un point de vue qui n'a pas encore chargé.
ViewDidLoad
ce n'est pas après cette fonction est terminée, que le point de vue est présenté et peuvent donc être rejeté.OriginalL'auteur Ruud Kalis
En courant FacebookLogin version (0.2.0) pour Swift, la LoginButton délégué de la propriété est définie comme une forte propriété:
Si vous ajoutez le bouton de connexion suivantes Facebook instructions et que vous définissez votre
UIViewController
enfant de la classe en tant que bouton délégué...... un cycle de référence sera créé. L'avis contiendra une référence forte à la bouton, le bouton contiendra une référence forte à la manette, et le contrôleur a une référence forte à son avis, voir ce post.
Ma solution a été d'utiliser une faible variable membre à avoir une référence pour le bouton de connexion et lors de l'affichage disparaît, le bouton délégué est fixé à néant, comme ceci:
Ne pas utiliser la fonction
viewWillDissapear()
pour la mise ànil
le délégué, parce que Facebook page de connexion sera indiquée sur le dessus de votre application, le déclenchement de cette fonction, et vous ne serez pas obtenir le login résultat puisque vous ne serez pas le délégué plus. Notez que cette solution fonctionne bien pour les vues à l'intérieur d'une manette de navigation. Une autre solution doit être trouvée pour les fenêtres modales.J'espère que cela aide,
Xavi
OriginalL'auteur XME
Vous pourriez le faire, comme ce tutoriel de appcoda (voir code ci-dessous)
Ici est un demo app pour cela.
OriginalL'auteur bLacK hoLE