码迷,mamicode.com
首页 > 移动开发 > 详细

IOS应用中社交分享集成

时间:2016-04-18 01:09:46      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

 

此功能是利用第三方SDK集成IOS应用中分享功能

1、获取AppKey

在mob官网注册应用得到appkey,www.mob.com

2、下载SDK

注册过下载需要的社会化的SDK工具

技术分享

3、快速集成

第一步:将下载的SDK解压后导入您的工程中

注意:请务必在上述步骤中选择“Create groups for any added folders”单选按钮组。如果你选择“Create folder references for any added folders”,一个蓝色的文件夹引用将被添加到项目并且将无法找到它的资源。

技术分享

 

第二步:添加依赖库

添加步骤见下图

技术分享

 

新浪微博SDK依赖库 

 

  • ImageIO.framework
  • AdSupport.framework
  • libsqlite3.dylib

 

QQ好友和QQ空间SDK依赖库 

 

  • libsqlite3.dylib

 

微信SDK依赖库 

 

  • libsqlite3.dylib

 

短信和邮件需要依赖库 

 

  • MessageUI.framework

 

 

Google+SDK依赖库 

 

  • CoreMotion.framework
  • CoreLocation.framework
  • MediaPlayer.framework
  • AssetsLibrary.framework
  • AddressBook.framework

 

第三步:设置ShareSDK的AppKey

打开*AppDelegate.m(*代表你的工程名字)导入文件头ShareSDK.h

1 #import <ShareSDK/ShareSDK.h>
2 #import <TencentOpenAPI/QQApiInterface.h>
3 #import <TencentOpenAPI/TencentOAuth.h>
4 #import "WXApi.h"
5 #import "WeiboSDK.h"
6 #import <RennSDK/RennSDK.h>

在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台

 1  [ShareSDK registerApp:@"api20"];//字符串api20为您的ShareSDK的AppKey
 2  
 3 //添加新浪微博应用 注册网址 http://open.weibo.com
 4     [ShareSDK connectSinaWeiboWithAppKey:@"568898243"
 5                              appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3"
 6                              redirectUri:@"http://www.sharesdk.cn"];
 7     //当使用新浪微博客户端分享的时候需要按照下面的方法来初始化新浪的平台
 8    [ShareSDK  connectSinaWeiboWithAppKey:@"568898243"     
 9                              appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" 
10                              redirectUri:@"http://www.sharesdk.cn" 
11                              weiboSDKCls:[WeiboSDK class]];
12  
13     //添加腾讯微博应用 注册网址 http://dev.t.qq.com
14     [ShareSDK connectTencentWeiboWithAppKey:@"801307650"
15                                   appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c"
16                                 redirectUri:@"http://www.sharesdk.cn"];
17  
18     //添加QQ空间应用  注册网址  http://connect.qq.com/intro/login/
19     [ShareSDK connectQZoneWithAppKey:@"100371282"
20                            appSecret:@"aed9b0303e3ed1e27bae87c33761161d"
21                    qqApiInterfaceCls:[QQApiInterface class]
22                      tencentOAuthCls:[TencentOAuth class]];
23  
24     //添加QQ应用  注册网址   http://mobile.qq.com/api/
25     [ShareSDK connectQQWithQZoneAppKey:@"100371282"
26                      qqApiInterfaceCls:[QQApiInterface class]
27                        tencentOAuthCls:[TencentOAuth class]];
28  
29    //微信登陆的时候需要初始化
30      [ShareSDK connectWeChatWithAppId:@"wx4868b35061f87885"
31                            appSecret:@"64020361b8ec4c99936c0e3999a9f249"
32                            wechatCls:[WXApi class]];
33  
34     //添加豆瓣应用  注册网址 http://developers.douban.com
35     [ShareSDK connectDoubanWithAppKey:@"07d08fbfc1210e931771af3f43632bb9"
36                              appSecret:@"e32896161e72be91"
37                              redirectUri:@"http://dev.kumoway.com/braininference/infos.php"];
38  
39     //添加人人网应用 注册网址  http://dev.renren.com
40     [ShareSDK connectRenRenWithAppId:@"226427"
41                               appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
42                            appSecret:@"f29df781abdd4f49beca5a2194676ca4"
43                    renrenClientClass:[RennClient class]];
44  
45     //添加开心网应用  注册网址 http://open.kaixin001.com
46     [ShareSDK connectKaiXinWithAppKey:@"358443394194887cee81ff5890870c7c"
47                              appSecret:@"da32179d859c016169f66d90b6db2a23"
48                              redirectUri:@"http://www.sharesdk.cn/"];
49  
50     //添加Instapaper应用   注册网址  http://www.instapaper.com/main/request_oauth_consumer_token
51     [ShareSDK connectInstapaperWithAppKey:@"4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA"
52                              appSecret:@"GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe"];
53  
54     //添加有道云笔记应用  注册网址 http://note.youdao.com/open/developguide.html#app
55     [ShareSDK connectYouDaoNoteWithConsumerKey:@"dcde25dca105bcc36884ed4534dab940"
56                              consumerSecret:@"d98217b4020e7f1874263795f44838fe"
57                              redirectUri:@"http://www.sharesdk.cn/"];
58  
59     //添加Facebook应用  注册网址 https://developers.facebook.com
60     [ShareSDK connectFacebookWithAppKey:@"107704292745179"
61                              appSecret:@"38053202e1a5fe26c80c753071f0b573"];
62  
63     //添加Twitter应用  注册网址  https://dev.twitter.com
64     [ShareSDK connectTwitterWithConsumerKey:@"mnTGqtXk0TYMXYTN7qUxg"
65                              consumerSecret:@"ROkFqr8c3m1HXqS3rm3TJ0WkAJuwBOSaWhPbZ9Ojuc"
66                              redirectUri:@"http://www.sharesdk.cn"];

 

第四步:添加实现代码

打开需要集成分享功能的视图源码,把如下代码复制并粘贴到你将弹出一个分享列表的位置,例如到响应分享按钮的方法中。并且修改相应的参数即可。

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ShareSDK" ofType:@"png"];
 
    //构造分享内容
    id<ISSContent> publishContent = [ShareSDK content:@"分享内容"
                                       defaultContent:@"测试一下"
                                                image:[ShareSDK imageWithPath:imagePath]
                                                title:@"ShareSDK"
                                                  url:@"http://www.mob.com"
                                          description:@"这是一条测试信息"
                                            mediaType:SSPublishContentMediaTypeNews];
    //创建弹出菜单容器
    id<ISSContainer> container = [ShareSDK container];
    [container setIPadContainerWithView:sender arrowDirect:UIPopoverArrowDirectionUp];
 
    //弹出分享菜单
    [ShareSDK showShareActionSheet:container
                         shareList:nil
                           content:publishContent
                     statusBarTips:YES
                       authOptions:nil
                      shareOptions:nil
                            result:^(ShareType type, SSResponseState state, id<ISSPlatformShareInfo> statusInfo, id<ICMErrorInfo> error, BOOL end) {
 
                                if (state == SSResponseStateSuccess)
                                {
                                    NSLog(@"分享成功");
                                }
                                else if (state == SSResponseStateFail)
                                {
                                    NSLog(@"分享失败,错误码:%ld,错误描述:%@", [error errorCode], [error errorDescription]);
                                }
                            }];

  

编译并运行后,弹出类似上图的分享列表选择页面,点击后弹出分享窗口,点击发表后就成功发送到社交平台的话说明你已经基本集成成功了

 

第五步:支持微信所需的相关配置及代码(如不支持微信分享可跳过

在微信开放平台(http://open.weixin.qq.com/ )注册应用并取得应用的AppID,然后打开下图位置,在URL Types中添加微信AppID

技术分享

打开*AppDelegate.m(*代表你的工程名字)文件,导入微信SDK的头文件

 1 - (BOOL)application:(UIApplication *)application
 2       handleOpenURL:(NSURL *)url
 3 {
 4     return [ShareSDK handleOpenURL:url
 5                         wxDelegate:self];
 6 }
 7  
 8 - (BOOL)application:(UIApplication *)application
 9             openURL:(NSURL *)url
10   sourceApplication:(NSString *)sourceApplication
11          annotation:(id)annotation
12 {
13     return [ShareSDK handleOpenURL:url
14                  sourceApplication:sourceApplication
15                         annotation:annotation
16                         wxDelegate:self];
17 }

第六步:支持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,见下图

技术分享

然后打开工程中的*AppDelegate.m(*代表你的工程名字)文件,导入QQSDK的头文件:

#import <TencentOpenAPI/QQApiInterface.h>
#import <TencentOpenAPI/TencentOAuth.h>

  然后打开工程中的*AppDelegate.m(*代表你的工程名字)文件,在- (BOOL)application: didFinishLaunchingWithOptions:方法内添加如下语句:

    [ShareSDK connectQQWithQZoneAppKey:@"801312852"
                     qqApiInterfaceCls:[QQApiInterface class]
                       tencentOAuthCls:[TencentOAuth class]];

  检查是否已加入handleOpenURL的处理方法,如果没有则添加如下代码:

 1 - (BOOL)application:(UIApplication *)application
 2       handleOpenURL:(NSURL *)url
 3 {
 4     return [ShareSDK handleOpenURL:url
 5                         wxDelegate:self];
 6 }
 7 
 8 - (BOOL)application:(UIApplication *)application
 9             openURL:(NSURL *)url
10   sourceApplication:(NSString *)sourceApplication
11          annotation:(id)annotation
12 {
13     return [ShareSDK handleOpenURL:url
14                  sourceApplication:sourceApplication
15                         annotation:annotation
16                         wxDelegate:self];
17 }

 

更多的功能功能和说明官网文档资料中会有显示,如果有需要的朋友可以在www.mob.com即成文档中查看

IOS应用中社交分享集成

标签:

原文地址:http://www.cnblogs.com/zouhengwei/p/5402830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!