iOS 社会化分享 第三方开发包ShareSDK使用
ShareSDK的强大,在其官方网站上有详尽说明。http://sharesdk.cn
添加开发包进自己的工程,在其下载的包中有详尽的说明文档。国内的第三方包比起老外做 的还是要欠缺些。比如代码的架构,说明文档的详细程度等。
至少说明文档看起来比较晦涩,不像老外做的图文并茂,老外做的Step by step都是做的十分详尽易懂得。在使用ShareSDK 2.0版本 时候,有个小问题。
具体情况下面贴代码
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"audio" ofType: @"jpg"]; //构造分享内容 id<ISSContent> publishContent = [ShareSDK content:nil//@"分享内容" defaultContent:@"默认分享内容,没内容时显示" image: [ShareSDK imageWithPath:imagePath] title:@"ShareSDK" url:@"http://www.sharesdk.cn" description:@"这是一条测试信息" mediaType:SSPublishContentMediaTypeNews]; [ShareSDK showShareActionSheet:nil shareList:nil content:publishContent statusBarTips:YES authOptions:nil shareOptions: nil result:^(ShareType type, SSPublishContentState state, id<ISSStatusInfo> statusInfo, id<ICMErrorInfo> error, BOOL end) { if (state == SSPublishContentStateSuccess) { NSLog(@"分享成功"); } else if (state == SSPublishContentStateFail) { NSLog(@"分享失败,错误码:%d,错误描述:%@", [error errorCode], [error errorDescription]); } }];
这个代码段在imagePath 为nil时候,分享会报告"分享失败,错误码:20007,错误描述:请确保使用multpart上传了图片"
错误
是因为当imagePath 为nil时候
[ShareSDK imageWithPath:imagePath]返回值处理有问题,其实如果不分享图片,直接把该参数设为nil就可以了
该问题已经给技术支持反映了情况,ShareSDK的技术支持还是比较快的。
补充下,如果只想用什么就加什么,避免自己的APP太臃肿。咨询了ShareSDK技术支持,答复如下:
1:不用的可以把SDK中Connection目录下的framework删除掉
2:UI目录下用不到的framework和bundle也可以删除掉
3:如果微信和QQ好友分享不用也可以把Extend里面的给去掉