分享的功能应该很多app应用中都会有,而sharesdk应该用的也会比较普遍一些,现在就使用sharesdk遇到的一些问题总结一下,仅供参考,因为只是我遇到问题,(__) 嘻嘻……sharesdk的具体引入请参考
新浪微博的分享
- 分享报错 sso package or sign error,这是由于你申请新浪微博的key时你添加的Bundle ID和你现在程序运行的Bundle Identifier 不一致造成的,申请新浪微博key时最多可以添加三个Bundle ID,根据你的具体需要,检查一下你的工程中的和你申请的是否一致。
- 新浪微博分享报错误码10014,这个是由于浪微博支持分享网络图片,但是这个需要高级微博写入权限,因此如果您需要分享网络图片,请申请权限以后,将图片Url设置给
SinaWeibo.ShareParams.setImageUrl(imageUrl)即可。下面详细描述一下申请此权限的方法:
1)进入您的应用详情,并选择“接口管理”—“申请权限”。
2)在右侧展开的页面中展开“微博高级写入接口”,会看到“statuses/upload_url_text”。勾选分组左侧的复选框。
3)滚动页面到底部,填写申请理由,然后“提交申请”。
大概一个工作日就会申请成功了。。。
分享到QQ和QQ空间
- 图片分享到QQ空间失败,这可能是图片太大造成的,把图片压缩一下在分享就会成功的,这里有一个压缩图片的方法
- (UIImage )resetSizeOfImage:(UIImage)source_image
{
CGSize newSize;
newSize = CGSizeMake(source_image.size.width, source_image.size.height);
while (newSize.width > 600) {
newSize = CGSizeMake(newSize.width0.5, newSize.height0.5);
}
UIGraphicsBeginImageContext(newSize);
[source_image drawInRect : CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
- QQ的分享支持QQ所需的相关配置及代码 登录QQ互联(http://connect.qq.com/ )注册成为开发者并登记应用取得AppId,然后打开下图位置,在URL Types中添加QQ的AppID,其格式为:”QQ” + AppId的16进制(如果appId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为:QQ05FB8B52 注意:转换后的字母要大写) 转换16进制的方法:echo ‘ibase=10;obase=16;801312852′|bc,其中801312852为QQ的AppID,转换方法见下图
- QQ分享的话有时点击分享会跳到QQ界面但是分享不了,点击好友带入不了分享的内容是因为QQ分享的话,有标题和内容字符数限制,QQ好友的话限制的很小,标题30字符,内容40字符。分享之前限制一下。