使用友盟来实现第三方的分享,登陆

// 需要引入框架

// 1. SystemConfiguration.framework

// 2. CoreGraphics.framework

// 3. libsqlite3.dylib

// 4. CoreTelephony.framework

// 5. libstdc++.dylib,

// 6. libz.dylib

// 下载最新的SDK,http://dev.umeng.com/social/ios/sdk-download

// 将UMSocial_Sdk-x.x.x的文件夹拖入工程目录下

//libUMSocial_Sdk-x.x.x.a  libUMSocial_Sdk_comment_3.0.a   库文件

// Header  头文字

// SocialSDKXib    xib文件

// en.Iproj,zh-Hans.Iproj  英文和中文语言文件

//frameworks   使用的第三方SDK,里面的Wechat,TencentOperAPI,TencentWeiboSSO,分别代表微信、手机QQ和腾讯微博SDK

// 设置友盟分享

[UMSocialData setAppKey:@"52b13dc556240b55870e7148"];

// 设置手机QQ的使用

[UMSocialConfig setQQAppId:@"100424468" url:nil importClasses:@[[QQApiInterface class],
[TencentOAuthclass]]];

// 设置微信功能

[UMSocialConfig setWXAppId:@"wx34bd7147c4d8ad5a" url:nil];

#pragmamark 使用第三方登录需要重写下面两个方法

- (void)applicationDidBecomeActive:(UIApplication *)application

{

// 登录需要编写

[UMSocialSnsService applicationDidBecomeActive];

}

- (BOOL)application:(UIApplication *)applicationopenURL:(NSURL *)urlsourceApplication:(NSString*)sourceApplicationannotation:(id)annotation

{

return [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];

}

#pragma mark 直接分享

- (IBAction)share:(id)sender

{

// 设置分享内容与分享平台

// 弹出UIActivityViewController样式的列表

[UMSocialSnsService presentSnsIconSheetView:self appKey:Nil shareText:@"要分享的内容" shareImage:nilshareToSnsNames:@[UMShareToQzone, UMShareToSina, UMShareToTencent, UMShareToRenren,UMShareToSms,UMShareToEmail, UMShareToFacebook, UMShareToTwitter, UMShareToWechatSession, UMShareToWechatTimeline,UMShareToQQ] delegate:nil];

}

#pragmamark 自定义分享平台的图标、文字、点击事件

- (IBAction)diyPlatformInfo:(id)sender

{

// 获取到新浪微博分享平台

UMSocialSnsPlatform *sinaPlatform= [UMSocialSnsPlatformManagergetSocialPlatformWithName:UMShareToSina];

// 设置平台图片

sinaPlatform.bigImageName = @"[email protected]";

// 设置平台名称

sinaPlatform.displayName = @"新浪的微博";

// 设置点击平台图标的事件

sinaPlatform.snsClickHandler =^(UIViewController *presentingController, UMSocialControllerService*socialControllerService, BOOL isPresentInController){

NSLog(@"点击了新浪微博分享");

};

// 弹出UITableView样式的分享列表

[UMSocialSnsService presentSnsController:self appKey:nil shareText:@"要分享的内容" shareImage:nilshareToSnsNames:@[UMShareToSina] delegate:nil];

}

#pragma mark 设置分享的类型

- (IBAction)shareType:(id)sender

{

// 设置分享音乐类型

[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeMusic];

// 设置图片类型并附带网址

[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeImageurl:@"http://baike.steelhome.cn/uploads/200912/1262062983nmcUZA6K.jpg"];

// 设置视频类型,并附带网址

[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeVideourl:@"http://www.baidu.com/video/benshankuaileying/4324343244320.mp4"];

// 显示各个平台类型

[UMSocialSnsService presentSnsIconSheetView:self appKey:Nil shareText:@"要分享的内容" shareImage:nilshareToSnsNames:@[UMShareToSina] delegate:nil];

}

#pragma mark 分享到QQ

- (IBAction)shareToQQ:(id)sender

{

[UMSocialSnsService presentSnsIconSheetView:self appKey:nil shareText:@"发送分享内容" shareImage:nilshareToSnsNames:@[UMShareToQQ] delegate:nil];

}

#pragma mark 微信分享

- (IBAction)shareWeiXin:(id)sender

{

// 设置微信分享应用类型,用户点击消息将跳转到应用,或者到下载页面

//UMSocialWXMessageTypeImage为图片类型

[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeApp;

// 分享图盘到微信朋友圈显示字数比较少,只显示分享标题

[UMSocialData defaultData].extConfig.title = @"朋友圈分享内容";

// 显示分享平台

[UMSocialSnsService presentSnsController:self appKey:nil shareText:@"分享的内容" shareImage:nilshareToSnsNames:@[UMShareToWechatSession, UMShareToWechatTimeline] delegate:nil];

}

#pragma mark 第三方登录

- (IBAction)otherLogin:(id)sender

{

// 使用Sina微博账号登录

UMSocialSnsPlatform *snsPlatform= [UMSocialSnsPlatformManagergetSocialPlatformWithName:UMShareToSina];

snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService], YES,^(UMSocialResponseEntity *response)
{

NSLog(@"response is %@", response);

// 如果是授权到新浪微博,SSO之后如果想获取用户的昵称、头像等需要再获取一次账户信息

[[UMSocialDataService defaultDataService]requestSocialAccountWithCompletion:^(UMSocialResponseEntity *response){

// 打印用户昵称

NSLog(@"SinaWeibo‘s user name is%@",[[[response.data objectForKey:@"accounts"]objectForKey:UMShareToSina] objectForKey:@"username"]);

}];

});

}

附录:

时间: 2024-10-27 13:39:52

使用友盟来实现第三方的分享,登陆的相关文章

友盟登录微信第三方登录报错解决linker command failed with exit code 1

:错误 Undefined symbols for architecture x86_64: "OBJC_CLASS$_UMSocialUtils", referenced from: objc-class-ref in libSocialWechat.a(UMSocialWechatHandler.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with ex

[友盟]使用友盟自带的微博分享时,授权时立马跳到当前程序

没有实现以下代理方法 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { BOOL result = [UMSocialSnsService handleOpenURL:url]; if (result == FALSE) { //调用其他SDK,例如支付宝S

当微信和支付宝遇上友盟

前言: 支付,分享,第三方登录,即时通讯这些在现在的APP当中慢慢的变成了最基本,当这些技术已经慢慢的融入到人们的生活中的时候,这些也就成了APP最基本的需求,以前这部分的内容也是经常做,但就是没有好好的总结过,首先说说这几个点,支付的话我们就说说支付宝和微信吧,把我看到的收藏的好点的文章也全都分享出来,第三方登录和分享我用的一直都是友盟的,不为别的,只是友盟的统计和第三方登录分享这些都是一套SDK,就直接用友盟,友盟和微信的回调这里也有一些我们注意的,下面也会和大家说. 微信和支付宝: 其实这

猫猫学习ios 之第三方登录友盟实现

一:集成友盟分享 做第三方登录现在大多数用友盟,友盟之中做第三方登录的时候首先下载sdk,然后自己看文档,其实友盟的官方文档写的已经十分清楚了,这里自己写写,做一下笔记 二:详细 友盟:http://www.umeng.com/ appDelegate中写入 //设置分享到QQ/Qzone的应用Id,和分享url 链接 #import "UMSocialQQHandler.h" [UMSocialQQHandler setQQWithAppId:@"100424468&quo

友盟分享流程

由于苹果审核政策需求,SDK中对未安装客户端平台进行隐藏,因此在未安 装QQ.微信客户端情况下,分享面板中不会出现QQ.Qzone.微信及朋友圈图标,如果需要显示,调用下面的方法,//UMShareToQQ. UMShareToQzone为要显示的平台,传nil显示所有平台 [UMSocialConfig showNotInstallPlatforms:@[UMShareToQQ,UMShareToQzone,UMShareToWechatsession]]; 1.   产品概述 友盟社会化组件

IOS友盟 社会化分享 > 社会化iOS组件 > 分享集成

由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享面板平台有隐藏功能,自定义分享面板或登录按钮需要自己处理 友盟分享sdk5.2.1已经兼容ipv6,请大家升级sdk,避免无法通

iOS友盟社会化分享完全攻略

1 简介 现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见.本文的目的在于介绍分享功能的基本实现.使用的是友盟的社会化分享组件,这样就不用一个一个对接各个平台的接口,可以使用一套接口来实现多个平台的分享功能.本文以分享到微信.QQ.微博为例. 2 开发者账号 这里说的不是创建苹果的开发者账号,而是创建友盟和各个要分享到的平台的开发者账号.和苹果开发者账号一样,要使用友盟的服务,要分享到各个平台,都需要对应的开发者账号去获取key. 2.1 友盟开发者账号及key 打开友盟的首页

试用友盟SDK实现Android分享微信朋友圈

社会化分享是眼下必学且火热的功能.之前有写第三方登录,那仅仅是社会化分享的一部分.今天来玩玩分享微信朋友圈. 为了方便操作,还是依照步骤写. 一,注冊 注冊应用已经在这里具体说明过了,这里就不多提了. 二,在微信开放平台中授权开发人员身份,以及注冊应用 链接:https://open.weixin.qq.com/ 进入管理中心 提交个人(公司)资料注冊开发人员信息(须要审核等待).通过后再创建移动应用(确保Package和Appname的一致性)之后拿到应用的AppId和Appsecret 三,

Android学习之友盟5.0推送,分享踩坑总结

这几天都没有写博客,今天集成友盟5.0推送,分享,得闲,总结一下友盟5.0推送分享踩得哪些坑! 之前写的友盟踩坑心得是基于友盟4.3版本的,现在友盟5.0相较于4.3,有了较大的改动,呜呼哀哉!学而时习之吧. 友盟5.0的好处:集成推送,分享可以通过导入module的形式,代码简化,维护性高,(一些资源文件就不用自己慢慢去拷贝了). 至于缺点,就是刚刚改版,会有很多跟4.3不一样的使用方法,所以需要前人去踩坑了! 友盟推送: 1:添加Module Android studio导入Module自不