友盟分享纯图片的坑
Error Domain=UMSocialPlatformErrorDomain Code=2014 "(null)" UserInfo={message=you must using https url, for support the new strategy of AppStore.}
原因:
4.1 HTTP图片发送失败
由于ATS的原因,所有HTTP链接在SDK内都被禁止,并提示错误告知非https图片不可分享,请使用https图片,保证ATS环境下可以顺畅的进行分享操作。分享图片方式如下: 1. 分享图片仅适用本地图片加载,如UIImage或NSData数据传输。 2. 如需使用网络图片,确保URL为HTTPS图片链接,以便于U-Share SDK下载并进行分享,否则会分享失败。
/** 友盟三方平台 分享 图片
* platformType 平台
* shareImage 图片内容 (可以是UIImage类对象,也可以是NSdata类对象,也可以是图片链接imageUrl NSString类对象(必须是https))
* thumbImage 缩略图 可以是网络地址url 也可是本地图片对象
*/
- (void)shareImageToPlatformType:(UMSocialPlatformType)platformType shareImage:(id)shareImage thumbImage:(id)thumbImage
{
if (platformType == 111) {
// 保存图片到相册
[QDAppdelegate saveImageToPhotosAlumFinished:[shareImage isKindOfClass:[UIImage class]] ? shareImage : [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:shareImage]]]];
return;
}
if ([self judgementThirdPlatformType:platformType]) { //检测客服端是否安装
//创建分享消息对象
UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
//创建图片内容对象
UMShareImageObject *shareObject = [[UMShareImageObject alloc] init];
//设置缩略图
shareObject.thumbImage = thumbImage;
// ⚠️注意:分享图片方式如下: 1. 分享图片仅适用本地图片加载,如UIImage或NSData数据传输。 2. 如需使用网络图片,确保URL为HTTPS图片链接,以便于U-Share SDK下载并进行分享,否则会分享失败。
[shareObject setShareImage:shareImage];
//分享消息对象设置分享内容对象
messageObject.shareObject = shareObject;
//调用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:[HFUtils presentingVC] completion:^(id data, NSError *error) {
if (error) {
NSLog(@"************Share fail with error %@*********",error);
}else{
NSLog(@"************Share Success*********”);
}
}];
}
}