最近在应用中加入了分享功能,使用了ShareSDK v3.x,以下纪录了在工程中集成ShareSDK社会化分享的步骤。
- IOS版本:9.3
- 开发环境:Xcode 7.3
- ShareSDK版本:v3.x
ShareSDK官网上提供了快速集成的主要步骤,链接如下:
点击打开链接,不详细说了。因为项目里只需要分享到QQ、微信和新浪微博平台,所以只加入对应的头文件,导入相应的库,将不需要的删除了。下面是ShareSDK初始化配置和分享界面及分享动作部分代码。
初始化代码,其中的AppID、AppKey、appSecret要替换为自己的,这些是在需要分享的平台上申请得到的。在activePlatforms中微信平台没有使用
SSDKPlatformTypeWechat,因为
SSDKPlatformTypeWechat默认包括微信好友、朋友圈和微信收藏,因为不需要收藏,所以用了子选项。
/* 初始化代码 */
-(void) shareSDKInit{
/**
* 设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册,
* 在将生成的AppKey传入到此方法中。我们Demo提供的appKey为内部测试使用,可能会修改配置信息,请不要使用。
* 方法中的第二个参数用于指定要使用哪些社交平台,以数组形式传入。第三个参数为需要连接社交平台SDK时触发,
* 在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。
* 如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
*/
[ShareSDK registerApp:@"bundle id"
activePlatforms:@[
@(SSDKPlatformTypeSinaWeibo),
@(SSDKPlatformSubTypeWechatSession),
@(SSDKPlatformSubTypeWechatTimeline),
@(SSDKPlatformTypeQQ)
]
onImport:^(SSDKPlatformType platformType) {
switch (platformType)
{
case SSDKPlatformTypeWechat:
[ShareSDKConnector connectWeChat:[WXApi class]];
[ShareSDKConnector connectWeChat:[WXApi class] delegate:self];
break;
case SSDKPlatformTypeQQ:
[ShareSDKConnector connectQQ:[QQApiInterface class]
tencentOAuthClass:[TencentOAuth class]];
break;
case SSDKPlatformTypeSinaWeibo:
[ShareSDKConnector connectWeibo:[WeiboSDK class]];
break;
default:
break;
}
}
onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
switch (platformType)
{
case SSDKPlatformTypeSinaWeibo:
//设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
[appInfo SSDKSetupSinaWeiboByAppKey:@"2122649601"
appSecret:@"4f2923d4f6657cb98a3