Xcode 在Facebook登录后将用户发送到新的视图控制器
我对编码非常陌生,所以这可能非常简单,但任何帮助都将是惊人的 我在您第一次打开应用程序并集成FBSDK时添加了一个登录屏幕 登录到Facebook后,您将返回到单击以登录Facebook的同一Xcode 在Facebook登录后将用户发送到新的视图控制器,xcode,viewcontroller,Xcode,Viewcontroller,我对编码非常陌生,所以这可能非常简单,但任何帮助都将是惊人的 我在您第一次打开应用程序并集成FBSDK时添加了一个登录屏幕 登录到Facebook后,您将返回到单击以登录Facebook的同一ViewController 一旦他们收到FBSDKAccessToken,我如何能够将他们自动重定向到我已设置的新视图控制器?因此,如果视图控制器已登录,是否在启动时跳过此视图控制器 我猜它应该是在如果([FBSDKAccessToken currentAccessToken])但是我不确定下一部分,而且
ViewController
一旦他们收到FBSDKAccessToken
,我如何能够将他们自动重定向到我已设置的新视图控制器?因此,如果视图控制器已登录,是否在启动时跳过此视图控制器
我猜它应该是在
如果([FBSDKAccessToken currentAccessToken])
但是我不确定下一部分,而且我似乎找不到任何关于新的FSBSDK 4的参考。你可以使用segue
向用户展示新的ViewController
。将新的ViewController添加到情节提要中。控制从FBLogin按钮拖动到新的ViewController,然后选择Present Modally
。现在选择segue并从Xcode的右上角选择属性检查器,并为标识符命名,例如loginsAccess。将此行添加到您的代码[self-PerformsgueWithIdentifier:@“LoginsAccess”发件人:self]代码>
如果您有任何困难,请告诉我,以下是完整的代码示例供您理解
- (IBAction)btnFacebookPressed:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"])
{
// Do work
if ([FBSDKAccessToken currentAccessToken])
{
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, first_name, last_name, email"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
{
if (!error)
{
NSDictionary *userData = (NSDictionary *)result;
}
}];
}
{
[self performSegueWithIdentifier:@"loginSuccess" sender:self];
}
}
}
}];
}
@end