2015-10-05 24 views
0

我想要的视频上传到WhatsappALAsset URL,,但它加载使用UIActivityViewController的WhatsApp不能从assetURL采摘视频UIActivityViewController

ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init]; 

[assetLibrary assetForURL:self.videoURL resultBlock:^(ALAsset *asset) { 
    NSArray *objectsToShare = @[asset.defaultRepresentation.url]; 
    FrodoInstagramActivity *instagramActivity = [[FrodoInstagramActivity alloc] init]; 

    UIActivityViewController *activityVC = [[UIActivityViewController alloc] 
     initWithActivityItems:objectsToShare applicationActivities:@[instagramActivity]]; 
    [self presentViewController:activityVC animated:YES completion:nil]; 
} failureBlock:nil]; 
+0

为什么上传URL,上传资产本身。我认为这可能会解决这个问题。 –

+0

@AlvinVarghese直接上传资产会删除acitvityController中除我的自定义活动以外的所有选项 –

+0

请问您是否可以将您的视频资产转换为NSData并试试? –

回答

1

试试这个能剧,“电影时,我分享视频“您从视频资源保存到本地目录的视频。

NSString * savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wam"]; 

savePath = [[NSBundle mainBundle] pathForResource:@"Movie" ofType:@"m4v"]; 


    _documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]]; 
    _documentInteractionController.UTI = @"net.whatsapp.movie"; 
    _documentInteractionController.delegate = (id)self; 

    [_documentInteractionController presentOpenInMenuFromRect:CGRectMake(0, 0, 0, 0) inView:self.view animated: YES]; 

将您的资产保存到本地,并获取本地URL。在上面的代码上传递URL路径。让我们来看看。

不要在每个视频的本地创建每个文件,只需对所有视频使用相同的文件名并替换视频。并在成功上传后从本地删除视频。 This might help

+0

我已经尝试过,但在大文件的情况下创建临时副本可能是一个问题。无论如何感谢 –

+0

WhatsApp没有使用资产网址加载视频。每个其他平台都在做。仍然找出这个问题的实际解决方案。现在创建了一个whatsapp的自定义活动 –

+0

你试过这个_documentInteractionController代码吗? –

0

我也面临这个问题与whatsapp共享链接。

在whatsapp共享重新分配给字符数。

请分享网址和文字,最多150个字符。

然后说出发生了什么。

快乐编码:)

+0

不,网址不超过150个字符。它是assets-library://asset/asset.mp4?id = 004BB7E9-6F9F-4C3A-8FAD-CAC26952708C&ext = mp4 –