菜鸟教程小白 发表于 2022-12-12 11:33:34

ios - Facebook 登录后更改 View Controller


                                            <p><p> <img src="/image/1fq5n.png" alt="enter image description here"/>
我在下面列出了处理 Facebook 登录的 ViewController 。就像现在一样,应用程序运行并加载具有 Facebook 登录按钮的 View 。登录后,该按钮会将文本更改为“注销”。我想要发生的是,一旦用户登录,它就会转到另一个 ViewController 。</p>

<p>我在 Storyboard中添加了一个新的 ViewController 并在两者之间进行了“segue”,但我觉得我错过了一些东西。如果有帮助的话,我制作的新 ViewController 被命名为“homeViewController”。谢谢</p>

<pre><code>#import &#34;ViewController.h&#34;

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    ;
    // Do any additional setup after loading the view, typically from a nib.
    self.loginView.readPermissions = @[@&#34;public_profile&#34;, @&#34;email&#34;, @&#34;user_friends&#34;];
}

- (void)didReceiveMemoryWarning
{
    ;
    // Dispose of any resources that can be recreated.
}

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id&lt;FBGraphUser&gt;)user
{
    NSLog(@&#34;%@&#34;, user.name);
}

- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView
{
    NSLog(@&#34;You are logged in! :) &#34;);
}

- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView
{
    NSLog(@&#34;You are logged out! :( &#34;);
}

- (void)loginView:(FBLoginView *)loginView handleError:(NSError *)error
{
    NSString *alertMessage, *alertTitle;

    if ()
    {
      alertTitle = @&#34;Facebook error&#34;;
      alertMessage = ;

    }
    else if ( == FBErrorCategoryAuthenticationReopenSession)
    {
      alertTitle = @&#34;Session Error&#34;;
      alertMessage = @&#34;Your current session is no longer valid. Please log in again.&#34;;

    }
    else if ( == FBErrorCategoryUserCancelled)
    {
      NSLog(@&#34;user cancelled login&#34;);

    }
    else
    {
      alertTitle= @&#34;Something went wrong&#34;;
      alertMessage = @&#34;Please try again later.&#34;;
      NSLog(@&#34;Unexpected error:%@&#34;, error);
    }

    if (alertMessage)
    {
      [[ initWithTitle:alertTitle
                                    message:alertMessage
                                 delegate:nil
                        cancelButtonTitle:@&#34;OK&#34;
                        otherButtonTitles:nil] show];
    }
}

@end
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>只要连接到 Facebook 登录按钮,segue 就应该是您所需要的。 </p>

<p>如果你愿意,你可以打电话</p>

<pre><code>- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
    if(currentUser ) { //this checks that the user logged in before moving to the next view
   return YES;
    }
    else return NO;
}
</code></pre>

<p>在移动到 homeViewController 之前检查用户是否成功登录。
你会做类似上面代码的事情</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Facebook 登录后更改 ViewController ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25416658/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25416658/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Facebook 登录后更改 View Controller