新浪微博分享WBWebpageObject 无法显示图片问题

关于微博分享,本以为网上有文档有demo,会万无一失的,没想到关于网页的分享就出现了坑,需要分享一个网址,就是那种普通带文字、链接、图片的那种,照着demo的代码撸完,demo用的是WBWebpageObject,发现分享是分享出去了,但是图片没有了,网上也搜了下有没有遇到这个问题的,还真有,官网给出的FAQ如下:

FAQ LinkCard

  • Q:什么是LinkCard
  • A:http://open.weibo.com/wiki/%E7%A7%BB%E5%8A%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5
    (在微博消息流内,分享一条链接,该链接将解析为包含一个对象数据的特殊短链,且该对象数据可以在微博消息流内显示并交互,这种形态就是微博消息流LinkCard解析。 )
  • Q:WBWebpageObject 分享之后不显示缩略图 是什么原因
  • A:移动应用商务合作,移动SDK中的LinkCard和附件栏集成分享权限需要合作申请,商务对接请发邮件至:[email protected]
  • Q:我已经通过了商务合作,仍然不显示Card
  • A:请填写平台-应用基本信息中的 安全域名,确定分享的链接处于安全域名之内,方能显示为Card

有网友说邮件巨慢,那怎么办,查看了一下SDK源码

/**
 微博客户端程序和第三方应用之间传递的消息结构
 
 一个消息结构由三部分组成:文字、图片和多媒体数据。三部分内容中至少有一项不为空,图片和多媒体数据不能共存。(新版的多图和视频属于图片数据,并且图片和视频也不能共存)
 */
@interface WBMessageObject : NSObject

/**
 消息的文本内容
 
 @warning 长度小于2000个汉字
 */
@property (nonatomic, strong) NSString *text;

/**
 消息的图片内容
 
 @see WBImageObject
 */
@property (nonatomic, strong) WBImageObject *imageObject;

/**
 消息的多媒体内容
 
 @see WBBaseMediaObject
 */
@property (nonatomic, strong) WBBaseMediaObject *mediaObject;

/**
 消息的视频内容
 
 @see WBVideoObject
 */
@property (nonatomic, strong) WBNewVideoObject *videoObject;
/**
 返回一个 WBMessageObject 对象
 
 @return 返回一个*自动释放的*WBMessageObject对象
 */
+ (id)message;

@end

imageObject和mediaObject无法共存,那就通过普通text和imageObject组合吧

message.text = [NSString stringWithFormat:@"%@ %@ %@",NSLocalizedString(shareDic[@"descp"], nil),shareDic[@"share_html"],NSLocalizedString(shareDic[@"title"], nil)];
WBImageObject *imageOb = [WBImageObject object];
imageOb.imageData = UIImageJPEGRepresentation(image, 1.0);
message.imageObject = imageOb;

勉强达到效果,但是链接的显示是文字是“网页链接” ,看来LinkCard是正道

你可能感兴趣的:(新浪微博分享WBWebpageObject 无法显示图片问题)