2014-03-07 1 views
1

UIActivityViewController를 사용하여 내 응용 프로그램 문서 (파일 URL)를 공유하려고합니다. activityviewcontroller 팝업 (iPad 장치 테스트), iMessage 및 Mail 옵션 만 제공됩니다. 나는 Facebook, Twitter, Copy, Print 등과 같은 다른 옵션을 얻지 않습니다. 왜? 도와주세요. Facebook, twitter 옵션도 필요합니다. NSURL을 사용하여 공유 할 파일 형식은 .txt입니다.UIActivityViewController를 사용하여 파일 URL 게시하기

참고 : 이미 iOS 설정에서 내 Facebook, twitter 계정에 로그인되어 있습니다.

내가 사용하고

소스 코드 :

NSURL * URL = [NSURL fileURLWithPath : self.path]

NSArray *objectsToShare = @[url]; 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; 


if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 

    [APP_VIEW_CONTROLLER presentViewController:activityViewController animated:YES completion:nil]; 
} 
else 
{ 

    if (![self.activityPopover isPopoverVisible]) { 
     self.activityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController]; 
     [self.activityPopover presentPopoverFromRect:pathViewController.pathViewWrapper.pathView.bounds inView:pathViewController.pathViewWrapper.pathView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
    } 
    else 
    { 
     //Dismiss if the button is tapped while pop over is visible 
     [self.activityPopover dismissPopoverAnimated:YES]; 
    } 
} 

답변

0

실제로 UIActivityViewController에 나타나는 것은 신비한 일입니다. 페이스 북과 트위터는 1) http 또는 https URL (파일 URL 아님) 일 필요가 있습니다. 2) 해당 서비스가 사용중인 시뮬레이터 또는 iOS 장치에 구성되어 있는지 확인하십시오.

0

Facebook에 게시하는 경우. 파일은 장치에 로컬로 저장된 파일 일 수 있습니다. 그러나 MP4로 변환해야합니다. 기본적으로 장치 카메라로 찍은 비디오는 .MOV 파일입니다. 로컬 파일 위치를 제공하면 .MP4로 변환하면 UIActivityController가 Facebook에 공유됩니다.

FB가 작동하려면 Twitter에서 현재 작업하고 있습니다. 나는 나의 대답을 편집하고 내가 끝나면 세부 사항을 제공 할 것이다. 이 도움이

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:activities]; 

    activityController.excludedActivityTypes = @[ UIActivityTypeMail, 
                UIActivityTypeAssignToContact, 
                UIActivityTypePrint, 
                UIActivityTypeCopyToPasteboard, 
                UIActivityTypeAddToReadingList, 
                UIActivityTypeSaveToCameraRoll]; 

NSMutableArray *items = [[[Engine sharedEngine].thingsManager getSharingMessageForThingWithId:self.thingId 
                      categoryName:self.category.name 
                       brandName:self.brand.name 
                       andText:message 
                       isVideo:([self.videoURL.absoluteString length] > 0 ? YES : NO)] mutableCopy]; 
    if ([self.videoURL.absoluteString length] > 0) { 
    //Get the .mp4 converted video url 
    if (self.awsManager == nil) { 
     self.awsManager = [[AWSManager alloc] init]; 
    } 
    NSURL *mp4Url = [self.awsManager convertVideoToMP4:self.videoURL]; 
    //[items addObject:self.videoAmazonPath]; 
    [items addObject:mp4Url]; 
    } else { 
    [items addObject:self.image]; 
    } 

희망 : 여기

몇 가지 코드입니다.