美文网首页
iOS 音频分享问题以及解决方案

iOS 音频分享问题以及解决方案

作者: 可惜你不是我的双子座 | 来源:发表于2017-11-23 23:13 被阅读62次

    由于项目中有音频播放功能,自然需要分享音频,集成友盟分享之后,发现音频分享功能除了微信好友有点小意外之外,其他都很正常(朋友圈都可以,可恶),

    可恶的叹号.png

    在翻遍友盟集成文档以及微信开放平台之后,发现并没有提到这个问题,这真是让人恼火。最后在友盟论坛找到原因,仅仅是原因而已,没有解决方案(尴尬

    近期微信官方对音乐类型的分享增加了白名单限制,会导致不在白名单内的APP分享音乐类型失败.
    出现这种情况,需要和微信官方进行申请,将音乐url加入白名单内,才可以进行正常分享

    有其他问题可以看这里
    友盟+分享组件90%常见问题汇总
    拨打了腾讯的人工服务之后,找到了解决方案

    分享音频文件出现红色感叹号,无法分享成功
    音乐类appmsg的分享功能需进行申请。申请时请提供appid以及对应的url发送至邮箱(weixin-open@qq.com),处理时间3个工作日,请耐心等待。

    原地址

    分享音频文件出现红色感叹号,无法分享成功
    然后就是抱着必过的心态等待了几天,结果是这样的(心碎

    这是微信官方发来的邮件.png

    询问我们后台之后,发现我们的服务器是阿里云的,现在后台以及定格,只有我们前端想办法解决。所以我们想既然不可以音频分享,但是我们可以网页分享,以下为官方demo

    //网页分享
    - (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
    {
        //创建分享消息对象
        UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
        
        //创建网页内容对象
        NSString* thumbURL =  UMS_THUMB_IMAGE;
        UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:UMS_Title descr:UMS_Web_Desc thumImage:thumbURL];
    
        //修改这里  ---  设置音乐网页播放地址
        shareObject.webpageUrl = UMS_MusicLink;
        
        //分享消息对象设置分享内容对象
        messageObject.shareObject = shareObject;
        
    #ifdef UM_Swift
        [UMSocialSwiftInterface shareWithPlattype:platformType messageObject:messageObject viewController:self completion:^(UMSocialShareResponse * data, NSError * error) {
    #else
            //调用分享接口
            [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
    #endif
                if (error) {
                    UMSocialLogInfo(@"************Share fail with error %@*********",error);
                }else{
                    if ([data isKindOfClass:[UMSocialShareResponse class]]) {
                        UMSocialShareResponse *resp = data;
                        //分享结果消息
                        UMSocialLogInfo(@"response message is %@",resp.message);
                        //第三方原始返回的数据
                        UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
                        
                    }else{
                        UMSocialLogInfo(@"response data is %@",data);
                    }
                }
                [self alertWithError:error];
            }];
    }
    

    对比之下的结果


    音频分享.png

    虽然不可以在界面内按播放,但是其他还是正常的,也算是一种解决办法!

    相关文章

      网友评论

          本文标题:iOS 音频分享问题以及解决方案

          本文链接:https://www.haomeiwen.com/subject/apvtbxtx.html