2014-02-21 5 views
5

iOS 기본 앱에서 아래의 방법으로 Facebook SDK를 사용하여 Facebook 친구에게 App에 대한 초대장을 보내려고합니다.iOS Facebook sdk 친구 초대 Reqest 친구에게 Notificaton을받지 못함

-(IBAction)ShowFiendDialog:(id)sender 
{ 

    NSDictionary *parameters = @{@"to":@""}; 

    [FBWebDialogs presentRequestsDialogModallyWithSession:FBSession.activeSession 
                message:@"my message" 
                title:@"my title" 
               parameters:parameters 
                handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) 
    { 
     if(error) 
     { 
      NSLog(@"Some errorr: %@", [error description]); 
      UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Invitiation Sending Failed" message:@"Unable to send inviation at this Moment, please make sure your are connected with internet" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
      [alrt show]; 
      //[alrt release]; 
     } 
     else 
     { 
      if (![resultURL query]) 
      { 
       return; 
      } 

      NSDictionary *params = [self parseURLParams:[resultURL query]]; 
      NSMutableArray *recipientIDs = [[NSMutableArray alloc] init]; 
      for (NSString *paramKey in params) 
      { 
       if ([paramKey hasPrefix:@"to["]) 
       { 
        [recipientIDs addObject:[params objectForKey:paramKey]]; 
       } 
      } 
      if ([params objectForKey:@"request"]) 
      { 
       NSLog(@"Request ID: %@", [params objectForKey:@"request"]); 
      } 
      if ([recipientIDs count] > 0) 
      { 
       //[self showMessage:@"Sent request successfully."]; 
       //NSLog(@"Recipient ID(s): %@", recipientIDs); 
       UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Success!" message:@"Invitation(s) sent successfuly!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
       [alrt show]; 
       //[alrt release]; 
      } 

     } 
    }friendCache:nil]; 

} 

- (NSDictionary *)parseURLParams:(NSString *)query 
{ 
    NSArray *pairs = [query componentsSeparatedByString:@"&"]; 
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; 
    for (NSString *pair in pairs) 
    { 
     NSArray *kv = [pair componentsSeparatedByString:@"="]; 

     [params setObject:[[kv objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 
        forKey:[[kv objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    } 

    return params; 
} 

위의 코드를 사용하여 모든 친구의 목록을 표시하고 여러 명 또는 단일 친구를 확인한 후 해당 요청이 성공적으로 전송되었습니다. 하지만 내 친구들이 웹이나 페이스 북의 네이티브 앱에서 페이스 북을 열면 알림이나 메시지가 수신되지 않습니다. 코드에서 실수가있는 부분을 찾을 수 없습니다.

도와주세요. 내 실수는 어디에서 어떻게 해결할 수 있습니까?

+0

이 링크를 사용하면 작동합니다. http://stackoverflow.com/questions/11796445/facebook-app-requests-arent-shown-on-ios-devices –

답변

5

일부 더미 URL을 전달하여 페이스 북에 앱을 구성해야합니다. 동일한 문제에 직면했기 때문에 나를 위해 일했습니다. developer.facebook.com으로 이동하여 앱을 선택하고 AddPlatform ---> addApplication을 선택하고 거기에 임의의 URL을 전달하고 앱 세부 정보 scrren의 알림에 표시 될 앱 이미지를 추가하십시오.

+0

제출하기 전에 제출해야합니까? –

+0

@ GấuUni 아니, 이렇게하려면 앱을 제출할 필요가 없습니다. 앱을 라이브로 만드는 것을 잊지 마십시오 (기본값은 샌드 박스 모드로 등록되어있는 fb 계정을 제외한 다른 fb 계정으로 앱을 테스트 할 수 없음) –

+1

공개했습니다. 누구나 권한을 부여 할 수 있습니다. 나는 요청을 성공적으로 보낸다. 하지만 내 친구는 웹이나 모바일에 대한 알림을받지 못합니다. 도와주세요. 너에게 연락 할 수있는 뭔가를 줄 수 있니? –

관련 문제