2014-04-02 1 views
1

내 응용 프로그램의 비디오를 youtube으로 공유하려면 로그인 (UIActivityViewController 사용)을 사용하십시오. 그러나 나는 아래와 같은 이미지를 출력했다.IOS에서 UIActivityViewController를 사용하여 내 앱에서 YouTube 및 Instagram 앱으로 비디오를 공유하는 방법은 무엇입니까?

enter image description here

하지만 내 기대는이 비디오이 UIActivityViewController에 유튜브와 인스 타 그램 앱 추가 할 수 있습니다. 아래에 언급 된 이미지처럼. 이 이미지는 장치 사진 앨범에서 가져온 것입니다.

enter image description here

내 코드는 다음과 같습니다

- (IBAction)ShareVideo:(id)sender 
{ 
    NSString *[email protected]"Video Sharing "; 
    NSString *[email protected]"India"; 
    NSString *textObject = @"Video Sharing Test"; 
    NSData *videoData = [NSData dataWithContentsOfURL:movieURL]; //movieURL contains the video taken from photoAlbum 

    NSArray *objectsToShare = @[mySubject,textLocationA,textObject,videoData,movieURL]; 

    UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; 

    // Exclude all activities except AirDrop. 
    NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook, 
            UIActivityTypePostToWeibo, 
            UIActivityTypeMessage, UIActivityTypeMail, 
            UIActivityTypePrint, UIActivityTypeCopyToPasteboard, 
            UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, 
            UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, 
            UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo]; 
    controller.excludedActivityTypes = excludedActivities; 

    //-- define the activity view completion handler 
    controller.completionHandler = ^(NSString *activityType, BOOL completed){ 
     NSLog(@"Activity Type selected: %@", activityType); 
     if (completed) { 
      NSLog(@"Selected activity was performed."); 
     } else { 
      if (activityType == NULL) { 
       NSLog(@"User dismissed the view controller without making a selection."); 
      } else { 
       NSLog(@"Activity was not performed."); 
      } 
     } 
    }; 

    //-- define activity to be excluded (if any) 
    controller.excludedActivityTypes = [NSArray arrayWithObjects:UIActivityTypeAssignToContact, nil]; 
    [controller setCompletionHandler:^(NSString *activityType, BOOL completed) { 
     if ([activityType isEqualToString:UIActivityTypePostToFacebook]) { 
      if (completed) 
      { 
       NSLog(@"facebook"); 

      } 

     } 
     else if ([activityType isEqualToString:UIActivityTypeSaveToCameraRoll]) { 
      if (completed) 
      { 
       NSLog(@"Video Saved"); 
      } 
     } 

     else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { 
      if (completed) 
      { 
       NSLog(@"twittter"); 
      } 

     } 
    }]; 

    // Present the controller 
    [self presentViewController:controller animated:YES completion:nil]; 
} 

나에게이 과정을 처리 할 수있는 몇 가지 아이디어를 제공하십시오. 이를위한 API가있다

+0

@ Kramnik0 - 참조 http://stackoverflow.com/questions/20628620/youtube-and-uiactivityview-on-ios – Sabs

답변

1
  1. : How can I create a custom UIActivity in iOS?
  2. 추가 주 대화 상자를. 이 라이브러리를 사용할 수 있습니다. https://github.com/romaonthego/REComposeViewController
  3. API를 사용하여 공유하십시오. 감사 @UserAwesome는 : http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Uploading_Videos

또는

당신은 기존 구성 요소를 찾기 위해 시도 할 수 있습니다. :)

+0

답장을 보내 주셔서 감사합니다. 기다릴게 내가 확인하고 알게. – Sabs

+0

@Sabs가 github 및 기타를 검색하면 내 방식이됩니다. – kaspartus

2

YouTube를 UIActivityViewController에 추가하려면 직접 UIActivityViewController를 사용자 지정해야합니다. 참조하십시오 How can I create a custom UIActivity in iOS? UIActivityViewController에서 사용자 지정 Youtube 아이콘을 추가하고 Youtube에 비디오를 업로드 할 수있게했습니다.

YouTube에 비디오를 업로드하는 방법은 https://nsrover.wordpress.com/2014/04/23/youtube-api-on-ios/을 읽었습니다. 그것은 작동합니다.

관련 문제