2013-06-10 1 views
0

내 프로젝트 (iOS6)에 Social framework을 사용 중이므로 에 Facebook 또는 에 게시 할 수 있습니다..소셜 프레임 워크 - 메시지가 전송되었는지 알 수있는 방법

내 질문은 사용자가 소셜 네트워크에 게시물을 보냈는지 아니면 취소했는지, 아무것도 게시하지 않았는지 확인하는 방법이 있다면 내 질문입니다.

나는 트위터에 게시물을 공유하는이 코드를 사용 :

-(IBAction)askOnTwitter 
{ 
    if (SYSTEM_VERSION_LESS_THAN(@"6.0")) 
    { 
     [self showErrorAlert]; 
     twitterButton.enabled = NO; 
     return; 
    } 

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 
    { 
     slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 

     [slComposeViewController setInitialText:@"Hey"]; 

     [self presentViewController:slComposeViewController animated:YES completion:nil]; 

     // So have user published a post or he haven't? How to know? 
    } 
} 

누군가가 트릭을 알고 있나요? 미리 감사드립니다.

답변

2

작성보기 컨트롤러에 대한 완료 핸들러를 설정할 수 있습니다. 결과가 표시됩니다. SLComposeViewControllerResultDone 또는 SLComposeViewControllerCancelled

__block __weak SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 

[slComposeViewController setCompletionHandler:^ 
    (SLComposeViewControllerResult result){ 

     if (result == SLComposeViewControllerResultDone) { 
      NSLog(@"Done successfully"); 
     } 
     else{ 
      NSLog(@"Cancelled"); 
     } 

     [slComposeViewController dismissViewControllerAnimated:YES completion:nil]; 
    }]; 
+0

감사합니다. 매력처럼 작동합니다. 하지만 마지막 줄에 "이 블록에서 강하게 자아 잡기"라는 경고를 어떻게 없앨 수 있습니까? 감사. – SmartTree

+0

Do it like __weak weakSelf = self –

+0

적절한 방법으로 답변을 업데이트하겠습니다. –