它成功重定向到Whatsapp应用程序。没有预览框架,点击发送时弹出错误消息“无法发送此视频。请选择其他视频。
这是我的代码。
- (void)shareVideo {
NSLog(@"[WhatsAppShare] sharing video");
//NSString *nativePath = [[NSString alloc] initWithCString:path encoding:NSASCIIStringEncoding];
NSString *nativePath=[[NSBundle mainBundle] pathForResource"video" ofType"mp4"];
// Save video to path in documents directory
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent"Documents/whatsAppTmp.wam"];
if([[NSFileManager defaultManager] fileExistsAtPath:savePath]){
if([[NSFileManager defaultManager] removeItemAtPath:savePath error:nil]){
[self shareVideoAtNativePath:nativePath SavePath:savePath];
}
} else {
[self shareVideoAtNativePath:nativePath SavePath:savePath];
}}
- (void)shareVideoAtNativePathNSString*)nativePath SavePathNSString*)savePath{
NSError*error;
BOOL isSuccess=[[NSFileManager defaultManager] copyItemAtPath:nativePath toPath:savePath error:&error];
if(isSuccess){
// Create interaction controller
self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
self.documentInteractionController.UTI = @"net.whatsapp.movie";
self.documentInteractionController.delegate = self;
[self.documentInteractionController presentOpenInMenuFromRect:CGRectMake(0, 0, 1, 1)
inView:[self view]
animated:YES];
} else{
NSLog(@"error %@", error);
}
}
我们观察到了完全相同的问题。在最近更新 WhatsApp 之前,一切正常。这可能是 WhatsApp 方面的错误。
以下是解决此问题的方法:
不要使用wam文件,直接使用mp4文件。所以在你的情况下,只需调用
[self shareVideoAtNativePath:nativePath SavePath:nativePath];
将 UTI 更改为 public Mpeg4:
self.documentInteractionController.UTI = @"public.mpeg-4";
这似乎解决了我们的问题。但是,有一个缺点是,共享对话框现在包含许多其他可以打开 mp4 文件的应用程序/服务。
关于iOS 无法使用 UIDocumentInteractionController 将视频分享到 Whatsapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33406138/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |