iOS友盟分享 - 微博分享网页链接失败

旧游无处不堪寻,无寻处,惟有少年心

屏幕快照 2019-01-23 下午2.24.05.png
今天新做了一个Demo来实现分享功能,使用的是友盟分享,分享平台包括微博。
  • 问题描述
    将友盟的图片链接换成了公司接口返回的http开头的图片链接后,微博分享就失效了。分享时选择微博没反应,没有跳转微博客户端,也没有打印什么错误。
//创建分享消息对象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];

//创建网页内容对象
NSString *thumbURL =  @"http://ksdy.dsmcase.com:90/api/file/image?url=images/company/201809/cpUN8W3jcCjKoXWMDZ9o4IpDeC1PggkWhazWBhrm.jpeg";

UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"测试使用分享功能" descr:@"这部分是我的分享文本内容,这部分是我的分享文本内容。" thumImage:thumbURL];
//设置网页地址
shareObject.webpageUrl = @"http://mobile.umeng.com/social";
//分享消息对象设置分享内容对象
messageObject.shareObject = shareObject;
  • 解决办法(内容转载自https://www.cnblogs.com/liuzhuan155/p/8073977.html

    1. 第一种更换成https
      这种方法是很稳妥的办法。

    2. 第二种方法:

    (1)如果你是原生开发且要分享的图片链接已经在本地加载了的话,那么你就可以直接从缓存中取出图片直接调用分享了

    (2)如果是web界面分享的话,那么就很痛苦了。有以下两种方案供参考

     第一种方案:先把http图片链接加载成image,但是这种方法有涉及到同步执行可能卡顿问题 。
    
     第二种方案:获取到web界面所有img标签的src地址,本地加载,调用分享的时候直接从缓存获取,获取不到赋个默认本地图片。
    

如果需要详细说明,可以点击链接去看原文。

  • 解决过程
    因为是测试的Demo,所以我直接使用了本地图片。
//创建网页内容对象
//NSString *thumbURL =  @"http://ksdy.dsmcase.com:90/api/file/image?url=images/company/201809/cpUN8W3jcCjKoXWMDZ9o4IpDeC1PggkWhazWBhrm.jpeg";
UIImage *thumbImage = [UIImage imageNamed:@"123.jpg"];
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"测试使用分享功能" descr:@"这部分是我的分享文本内容,这部分是我的分享文本内容。" thumImage:thumbImage];

重新运行就可以分享至微博了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容