【问题标题】:Does not receive any "Request" after sending out from iOS Facebook SDK从 iOS Facebook SDK 发出后未收到任何“请求”
【发布时间】:2013-07-23 02:51:56
【问题描述】:

我在 Facebook 开发者网站上关注这两个教程 https://developers.facebook.com/docs/tutorials/ios-sdk-games/requests/

https://developers.facebook.com/docs/howtos/send-requests-using-ios-sdk/#step2

这些是我的代码:

[FBWebDialogs presentRequestsDialogModallyWithSession:nil
     message:[NSString stringWithFormat:@"I just smashed %u friends! Can you beat it?", score]
     title: nil
     parameters:params
     handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
    {
         if (error)
         {
             // Case A: Error launching the dialog or sending request.
             UIAlertView* alert = [[UIAlertView alloc] initWithTitle: @"Facebook" message: error.description delegate: nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];
             [alert show];
             [alert release];
         }
         else
         {
             if (result == (FBWebDialogResultDialogCompleted))
             {
                 // Handle the publish feed callback
                 NSDictionary *urlParams = [self parseURLParams:[resultURL query]];

                 if ([urlParams valueForKey: @"request"])
                 {
                     // User clicked the Share button
                     NSLog(@"Send");
                 }
             }
         }
    }];

问题是在我发出请求后,我的朋友告诉我他没有在 FB 通知中心网站收到任何通知/请求。有谁知道为什么?

这些是我做过的事情:

  1. 我已在 info.plist 和 Facebook 应用中正确设置。

  2. 我没有使用沙盒模式。

  3. 我当前的应用程序能够登录并发布到墙上。

  4. 我有publish_actions 的权限。

  5. 我没有收到任何错误或警告。

【问题讨论】:

    标签: facebook facebook-ios-sdk


    【解决方案1】:

    我在这里找到了我的解决方案: Facebook App Requests aren't shown on iOS devices?

    是因为我没有设置iPhone App ID和iPad App ID

    【讨论】:

      【解决方案2】:

      使用以下方法,它会帮助你:

      -(void)openFacebookAuthentication
      {
          NSArray *permission = [NSArray arrayWithObjects:kFBEmailPermission,kFBUserPhotosPermission, nil];
      
          FBSession *session = [[FBSession alloc] initWithPermissions:permission];
      
          [FBSession setActiveSession: [[FBSession alloc] initWithPermissions:permission] ];
      
          [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
      
              switch (status) {
                  case FBSessionStateOpen:
                      [self getMyData];
                      break;
                  case FBSessionStateClosedLoginFailed: {
                      // prefer to keep decls near to their use
                      // unpack the error code and reason in order to compute cancel bool
                      NSString *errorCode = [[error userInfo] objectForKey:FBErrorLoginFailedOriginalErrorCode];
                      NSString *errorReason = [[error userInfo] objectForKey:FBErrorLoginFailedReason];
                      BOOL userDidCancel = !errorCode && (!errorReason || [errorReason isEqualToString:FBErrorLoginFailedReasonInlineCancelledValue]);
      
                      //Added by Rigel Networks July 2, 2013 to solve Facebook Cancel button popup issue
                      if(error.code == 2 && ![errorReason isEqualToString:@"com.facebook.sdk:UserLoginCancelled"]) {
                          UIAlertView *errorMessage = [[UIAlertView alloc] initWithTitle:kFBAlertTitle
                                                                                 message:kFBAuthenticationErrorMessage
                                                                                 delegate:nil
                                                                                 cancelButtonTitle:kOk
                                                                                 otherButtonTitles:nil];
                          [errorMessage performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];
                          errorMessage = nil;
                          }
                      }
                      break;
                      // presently extension, log-out and invalidation are being implemented in the Facebook class
                  default:
                      break; // so we do nothing in response to those state transitions
              }
          }];
          permission = nil;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        相关资源
        最近更新 更多