2013-04-08 4 views
2

Comme suggéré ici « https://developer.foursquare.com/overview/auth » je reçois le jeton d'accès dans un WebView puis je fermer le navigateur par après avoir reçu le accesstoken:Foursquare API UIWebView

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    NSString *URLString = [[self.webView.request URL] absoluteString]; 
    NSLog(@"--> %@", URLString); 
    if ([URLString rangeOfString:@"access_token="].location != NSNotFound) { 
     NSString *accessToken = [[URLString componentsSeparatedByString:@"="] lastObject]; 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
     [defaults setObject:accessToken forKey:@"access_token"]; 
     [defaults synchronize]; 
     [self.webView removeFromSuperview]; 

    } 

} 

un exemple similaire « https://github.com/anoopr/core-data-talk/blob/master/example/Classes/FoursquareAuthViewController.m »

Mais Une fois que j'ai supprimé le webview, j'ai un écran sombre. Ce qui est logique parce que je n'ai plus de vue. Mais je devrais probablement faire quelque chose comme [self.view addSubview: self.Anotherview], je ne suis pas sûr de ce que doit être Anotherview. Puis-je passer à un autre ViewController? Je suis assez nouveau à IOS donc toute aide serait très appréciée.

Répondre

2

Vous pouvez mettre ce que vous voulez après avoir supprimé l'UIWebView de la vue. Par exemple, si vous voulez juste afficher une carte, vous pouvez ajouter une vue de carte, ou même plus facilement, vous pouvez avoir une vue de carte et une vue web en haut si vous utilisez le constructeur d'interface, et enlever la vue web laissera vous avec la vue de la carte. Mais si ce que vous avez sur le contrôleur de vue de la vue Web (le contrôleur de vue sur lequel vous avez placé la vue Web) est sans rapport avec ce que vous essayez d'obtenir après avoir obtenu le jeton d'accès, le moyen le plus simple est de stocker le jeton d'accès. sinon (par exemple App delegate class) effectuer un segue à un autre contrôleur de vue, et utiliser le jeton à partir de là pour tout ce dont vous avez besoin. Vous n'avez même pas besoin de supprimer la vue Web de la vue d'ensemble, vous quittez déjà ce contrôleur de vue pour passer à un autre. En particulier, quand vous êtes débutant, tant que vous pouvez utiliser des storyboards, des segues et des NIB, allez-y, essayez de faire des choses dans Interface Builder visuellement plutôt que d'essayer de supprimer/ajouter des vues/viewcontrollers (oui, c'est aussi possible) dans le code.