问题1: 按照集成文档操作完成后, 测试分享, 出现了如下问题.
查了一下是因为没有配置各平台的白名单(微信,QQ需要在真机上,安装微信,QQ客户端才能显示在分享菜单上的,另外还需要根据这个文档http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/配置下白名单,不然的话,即使安装客户端也有可能检测不到安装的。)
问题2: 采用简洁样式 平台图标不显示, 并且平台的名字显示是英文
问了下Mob的客服, 原来是下载SDK的时候, 没有勾选默认分享视图, 没有勾选这个的话, 是无法下载到平台的图片资源的.
也就是说如果你想用简洁样式的视图, 也要勾选上默认分享视图才行.如下图[默认分享视图] 和 [简洁分享视图]都要勾选才行
另外在代码里加上一下两句, 就能设置成功为简洁分享视图了
#import<ShareSDKUI/SSUIShareActionSheetStyle.h>//设置简单分享菜单样式
[SSUIShareActionSheetStylesetShareActionSheetStyle:ShareActionSheetStyleSimple];
至于显示的是英文,是因为项目plist文件里有个语言的默认这是是en, 改成china就好了
/
简洁版分享视图 设置好之后的效果如下
/// 附上申请腾讯开放平台时,参数填写方法, 如下图
如果点击QQ没有反应的话,第一没有配置QQ的URL Scheme,第二没有配置白名单,第三构造分享参数不满足QQ的需求,
[shareParams SSDKSetupShareParamsByText:@"分享内容"
images:@[@"http://img1.bdstatic.com/img/image/67037d3d539b6003af38f5c4c4f372ac65c1038b63f.jpg"]
url:[NSURL URLWithString:@"http://www.baidu.com"]
title:@"分享标题"
type:SSDKContentTypeAuto];
//
问题1:
第一次点击分享, 所有的平台都可以点,也能分享成功;返回应用(没有显示回调信息),第二次点,分享不了,分享界面弹不出来..
原因:
我找到原因了, 没注意手机装了两个同样的app,删掉一个之后,一切都正常了=-=
//
问题2:
ShareSDK分享 和 应用的bundle ID有没有关系?
没,只是有的第三方平台需要填写Bundle id的,您要填写的跟您自己项目里的Bundle id一致
在微信,QQ上注册的应用的Bundle id也要改和项目里一样的才行
微信那边现在要检测注册的应用的Bundle id是不是和自己项目里的Bundle id一致
(这个问题比较奇怪, 有时候换了项目的Bundle id, 分享也没问题=-=)
//
问题3:
微信分享有时候,图片资源过大,会分享不出去
微信要求缩略图不能超过32K, 图片太大,是点击没反应的
处理办法: 分享之前把图片压缩一下
// 压缩图片 太大的话 微信分享不出去
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
self.shareImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.model.TuPian]]];
NSData *fData = UIImageJPEGRepresentation(_shareImage, 0.1);
if (fData != nil) {
dispatch_async(dispatch_get_main_queue(), ^{
_shareImage = [UIImage imageWithData:fData];
});
}
});
echo 'ibase=10;obase=16;1105960333'|bc
在URL Types中添加QQ的AppID,其格式为:”QQ”+ AppId的16进制(如果appId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为:QQ05FB8B52注意:转换后的字母要大写)转换16进制的方法:echo‘ibase=10;obase=16;801312852′|bc,其中801312852为QQ的AppID
设置之后, 不能立即生效,需要等一会儿
新浪微博分享注意事项:
1.
//有的平台要客户端分享需要加此方法,例如微博 [shareParams SSDKEnableUseClientShare];
登录http://open.weibo.com,选择[管理中心]->[我的应用]->["您的应用名"]->展开左侧[应用信息]->[高级信息]->OAuth2.0授权设置右上角[编辑]->在框里填入回调地址即可.(前期测试应用时随便填个公司主页即可.两个地址可以相同)
4.
如果遇到错误:Insufficient app permissions!
可能就是因为没有设置白名单 或者 少写了
[shareParams SSDKEnableUseClientShare];
网上说的要去申请微博高级写入权限, 但是亲测发现status/opload_url_text这个权限, 现在新浪微博已经没有提供这一项权限申请了, 应该是默认就有了..
5.
目前的新浪微博SDK需要在项目的Build Settings中的Other Linker Flags添加”-ObjC”,如果不配置有可能会崩溃
6.
当新浪微博需要客户端分享或者增加关注微博的功能,需要打开工程中的*AppDelegate.m(*代表你的工程名字)文件,导入新浪微博SDK的头文件并增加新浪微博的外部库文件接口:
#import <ShareSDK/ShareSDK.h> #import <ShareSDKConnector/ShareSDKConnector.h> //新浪微博SDK头文件 #import "WeiboSDK.h" //初始化的import参数注意要链接原生新浪微博SDK。 case SSDKPlatformTypeSinaWeibo: [ShareSDKConnector connectWeibo:[WeiboSDK class]]; break;7.
新浪微博的url scheme的设置格式为wb+AppID
8.
http://wiki.mob.com/关注微博和取消授权以及获取好友调用/
9.
集成新浪微博可能遇到的问题:
- 新浪微博error:redirect_uri_mismatch的解决方法
- 新浪微博客户端登录,应用和客户端来回跳转的问题
- 新浪微博授权之后点击分享还是会跳出授权界面授权的问题
- 新浪微博SSO授权报错 :sso package or sign error
- 新浪微博分享报错 :”Insufficient app permissions!”
- 新浪微博客户端分享集成步骤(跳转新浪微博客户端编辑分享内容并分享)