2014-11-29 3 views
1

에서만 동작 버튼 공유 페이스 북을 얻기 위해 나는 경우는 다음과 같습니다방법 UIActivityViewController

  • 앱에서 내가있는 UIButton를 만들고, 클릭이 UIActivityViewController 같은 팝업 공유 페이스 북을 보여줄 때. 하지만 UIActivityViewController에서 팝업 공유 페이스 북을 얻지 못했습니다. 나는 모두에게 도움이 필요하다.

고맙습니다. 당신은 당신이 할 수있는 activity types 제외하려면 이렇게 추가하여

- (IBAction)buttonPressed:(id)sender 
{ 
    NSString *textToShare = @"Put text here"; 
    UIImage *imageToShare = _img; 
    NSArray *itemsToShare = @[textToShare, imageToShare]; 

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil]; 
    [self presentViewController:activityViewController animated:TRUE completion:nil]; 
} 

을 :

답변

6

당신은 당신이 공유하고자하는 항목을 UIActivityViewController을 만들고 지정해야

// add an array of activity types to exclude 
activityViewController.excludedActivityTypes = @[UIActivityTypeMail, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo]; 

을 제시하기 전에 activityViewController.

또한 "Facebook의 공유"옵션을 보려면 this answer에서 설명한대로 장치의 Facebook에 로그인해야합니다.

///

옵션 2 - 당신이 활동 컨트롤러를 사용하기를 원하지만 대신 직접 아이폰 OS 사회적 공유 대화 상자를 열 수없는 경우

, 당신은 가져 것을 할 수 UIActivityController없이 Social 프레임 워크와 다음 Social Compose View Controller (SLComposeViewController)

// import Social framework 
#import <Social/Social.h>  

// check if there is an account for Facebook 
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])  
{ 

    SLComposeViewController *fbController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

    // set up a completion handler (optional) 
    SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){ 

     [fbController dismissViewControllerAnimated:YES completion:nil]; 

     switch(result){ 
      case SLComposeViewControllerResultCancelled: 
      default: 
       break; 
      case SLComposeViewControllerResultDone: 
       break; 
    }}; 

    [fbController addImage:imageToPost]; 
    [fbController setInitialText:textToPost]; 
    [fbController addURL:urlToPost]; 
    [fbController setCompletionHandler:completionHandler]; 
    [self presentViewController:fbController animated:YES completion:nil]; 
} 
+0

를 사용하여 답장 주셔서 감사합니다. 하지만, 일부 응용 프로그램을 보니, 나는 activityViewController의 popup facebook share 만 클릭하면 activityViewController를 표시하지 않고 버튼 공유 페이스 북을 볼 수 있습니다. 그래서 ... 너 다른 길을 가지고 있니? .. :( – user3785457

+0

소셜 프레임 워크를 사용하여 직접 공유 옵션을 포함하도록 내 대답을 편집했습니다. 내가 잘못 생각한 것, 달성하려는 작업이 있습니다. 도움이 되었기를 바랍니다. –

관련 문제