簡體   English   中英

在iOS 8上將視頻分享到Facebook

[英]Sharing video to Facebook on iOS 8

我有一些適用於iOS 7的共享代碼,但從iOS 8開始,不再有效。

@IBAction func onShareButton(sender: UIButton) {
    let movie = NSBundle.mainBundle().URLForResource("IMG_0564", withExtension: "mp4")!
    let items = [movie]
    let activity = UIActivityViewController(activityItems: items, applicationActivities: nil)
    if activity.respondsToSelector("popoverPresentationController") {
        activity.popoverPresentationController?.sourceView = sender
    }
    self.presentViewController(activity, animated: true, completion: nil)
}

正如我所說,這在iOS 7中運行良好,但是從iOS 8開始,當我選擇分享到Facebook時,視頻剪輯不再附加到帖子(或在共享面板中可見)。 所有其他選項工作,郵件,保存到視頻,AirDrop等都似乎工作正常。

我也嘗試將這些項目作為AVAssets傳遞:

    let items = [movie].map { AVAsset.assetWithURL($0) }

和NSData:

    let items = [movie].map { NSData(contentsOfURL: $0) }

這兩者都沒有對這個問題產生任何影響。

如果我在Objective-C中使用道德等價物,那么問題也會發生,它與語言無關。

我遇到了同樣的問題,我發現關鍵點是文件類型。 我曾試圖分享.mp4視頻,它不會將視頻附加到帖子中。 一旦我使用.mov視頻,它對我有用。

好的,我嘗試了一種解決方法,它對我有用。

我有視頻數據,我首先保存到文檔目錄中的文件,然后我附加了該文件。

//write to a file
[videoData writeToFile:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.mov"] atomically:YES];

- (IBAction)ShareVideoWihFacebook:(id)sender
{

    //get the file url
    NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.mov"];

    NSURL *videoURL = [NSURL fileURLWithPath:path];

    UIActivityViewController * activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[videoURL,@"Created by ..."] applicationActivities:NULL];


    [activityVC setExcludedActivityTypes:@[ UIActivityTypeMail,UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePrint, UIActivityTypePostToWeibo,UIActivityTypeMessage,UIActivityTypeAirDrop,UIActivityTypeSaveToCameraRoll]];

    [activityVC setValue:@"My Video" forKey:@"subject"];

    [activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
        //NSLog(@"completed dialog - activity: %@ - finished flag: %d", activityType, completed);
    }];

    [self presentViewController:activityVC animated:TRUE completion:nil];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM