iOS 友盟分享
iOS 友盟分享
这个主要是提到怎样通过友盟去自己定义分享的步骤:
一、肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的project目录里面去。
二、注冊友盟账号。将你的APP加入到你的账号里面然后获取到一个Key;
三、 在AppDelegate内设置友盟AppKey
-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[UMSocialData setAppKey:@"***这个是你注冊后的APP的Key****"];
}
四、然后在你要显示分享界面的控制器设置友盟自带的分享。比如 :点击一个分享button在分享button里面加入
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"你APPKey"
shareText:@“你要分享的文字”
shareImage:[UIImage imageNamed:@"icon"]
shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToEmail,UMShareToSms,nil]
delegate:nil];
这个是使用友盟原生的分享,以下给大家介绍一下自己定义的
前三步还是以上三步。
四、首先你得搭建好你想要显示什么要UI效果。比方你用UIScrollView或者 UICollectionView 或者你直接是往View里面加入Buttonbutton;
我介绍下我使用UICollectionView做的自己定义:
1、首先实现UICollectionView最主要的协议和代理方法。
2、在UICollectionView的点击事件的方法里去依据你要加入多少个分享平台去设置;
五、首先以分享新浪,腾讯微博。人人网,豆瓣网。QQ空间,邮箱。短信为例:1.在UICollectionView
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
NSMutableArray * shareArray =[NSMutableArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms,nil];
for (int i = 0; i< shareArray.count; i++) {
if ( indexPath.row == i )
{//新浪,腾讯微博。人人网,豆瓣网,QQ空间,邮箱。短信
[UMSocialAccountManager isOauthAndTokenNotExpired:shareArray[i]];
//进入授权页面
[UMSocialSnsPlatformManager getSocialPlatformWithName:shareArray[i]].loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
//获取微博username、uid、token等
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:shareArray[i]];
NSLog(@"username is %@, uid is %@, token is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken);
//进入你的分享内容编辑页面
}
});
}}
}
这样这几个分享的功能就实现了
假设还想注冊微信/手机QQ/Facebook等等
那就要看接下来的几个步骤了
1、微信你要把你所下载的SDK中Wechat文件放在project中;
2、进入微信开放平台注冊申请得到一个WXAppId;
3、在你的程序APPdelegate入口方法加入以下的代码
#import "UMSocialWechatHandler.h"
// 设置微信 AppId 、 appSecret ,分享 url
[UMSocialWechatHandler setWXAppId:@“你的微信AppId" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@“要分享的URL”];
4、在你的project设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中加入 URL Schemes,加入xcode的url scheme为微信应用appId,比如“wxd9a39c7122aa6516”;
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return[UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:( id )annotation
{
return[UMSocialSnsService handleOpenURL:url];
}
5、在你的点击方法中依据indexPath.row进行推断点击的第几个button中加入
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController: self completion:^(UMSocialResponseEntity *response){
if(response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
}
}];
到这儿微信的自己定义加入就结束了;
以下就介绍下加入手机QQ的。
首先你须要到腾讯开放平台注冊获取Key,然后在UMSocial_Sdk_Extra_Frameworks文件夹下的。加入TencentOpenAPI文件夹到project 加入以下几个系统framework
1、在Xcode中打开project配置文件。选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏。点击“+”图标加入以下八个库文件,各自是
• Security.framework
• libiconv.dylib
• SystemConfiguration.framework
• CoreGraphics.Framework
• libsqlite3.dylib
• CoreTelephony.framework
• libstdc++.dylib
• libz.dylib
2、在AppDelegate中
# import "UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"100424468" appKey:@"c7394704798a158208a74ab60104f0ba" url:@“http://www.umeng.com/social"];
这里注意了:在你的project设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中加入 URL Schemes,设置Xcode的url scheme格式为“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),比如“QQ05FC5B14”。并在QQ互联后台的URL schema中填入此字符串保持一致。 额外设置 url schemes 的格式为"tencent"+腾讯QQ互联应用appId,比如“tencent100424468”
假设 URL schemes 配置错误,则分享完毕后无法返回应用
在Xcode 6.0创建project时,默认可能没有单独设置Bundle display name属性值。可是由于SDK须要用到Bundle display name的值,所以务必请检查确保这个属性存在,假设没有请加入上。
3.在APPdelegate里面实现
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return[UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:( id )annotation
{
return[UMSocialSnsService handleOpenURL:url];
}
4、然后再在点击事件里加入
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToQQ(这里假设要分享到QQ空间仅仅要把UMShareToQQ换成UMShareToQzone的就能够了)] content:@"分享文字" image:nil location:nil urlResource:nil presentedController: selfcompletion:^(UMSocialResponseEntity
*response){
if(response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!
");
}
}];
到这儿QQ的加入已经完毕了
以下给大家介绍一个Facebook的加入
1.在Facebook开放平台( 点击链接 ) 注冊你的facebook应用,注意在你的应用Native iOS App填写Bundle ID
2.把你的SDK中在UMSocial_Sdk_Extra_Frameworks文件夹下,把Facebook文件夹加入到project;
3.在你的project设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中加入 URL Schemes,设置Xcode的url scheme格式为“fb”+facebook AppID。比如“fb1440390216179601”
4.在APPdelegate里实现
[UMSocialFacebookHandler setFacebookAppID:@"1440390216179601" shareFacebookWithURL:@"http://www.umeng.com/social"];
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return[UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:( id )annotation
{
return[UMSocialSnsService handleOpenURL:url];
}
/**假设上面的几个分享已经加入这个那就不须要再次加入了*/
介绍就到这里了,至于其它的一些分享大家能够好好看看友盟的官方文档非常具体的介绍了怎样使用自己定义的
这个是链接: http://dev.umeng.com/social/ios/detail-share
当然了国内除了友盟之外另一个shareSDK。仅仅只是个人感觉友盟的更简洁更方便一些;
iOS 友盟分享的更多相关文章
- iOS友盟分享的使用总结
现在几乎所有的APP都会集成分享,为了可以更好的推广自己的APP. 目前市面上常用的分享无非就三个: 1.友盟分享; 2.shareSDK(mob); 3.苹果原生. 由于苹果原生的分享使用起来不方便 ...
- iOS开发-友盟分享(3)
iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...
- iOS开发-友盟分享(1)
1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网 友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...
- iOS开发——iOS10升级极光推送SDK、友盟分享SDK
前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...
- iOS开发——友盟分享
==========2016-01-29 更新=====刘成利 email:liu_cheng_li@qq.com========== 自己成功集成到公司的项目前,也已做了测试好的友盟分享demo 目 ...
- 友盟分享小结 - iOS
因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...
- 友盟分享到微信的几点备忘(IOS)
1.下载最新的友盟分享版本,参考友盟官方的demo 2.注册微信开放平台用户,不是公众平台,注册应用 3.参考文档和demo,加入sdk包和相应的lib 4.在plist加入URL types.URL ...
- ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现
问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...
- iOS开发-友盟分享使用(2)
1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...
随机推荐
- POJ 1682 DP
原创: http://www.cnblogs.com/proverbs/archive/2012/10/03/2711151.html 超高仿: http://blog.csdn.net/mars_c ...
- 关于echarts3版本里的tree图形显示Bug、无法缩放和移动
在使用echarts3版本的js绘制tree图表的时候,如果想动态更新tree的数据,可能会出现图表渲染有异常,并且api给出的roam配置无法控制图表通过鼠标缩放和移动,如下图: 不过更改echar ...
- tcpg通信
1.客户端 from socket import * def main(): # 创建套接字 tcp_socket = socket(AF_INET,SOCK_STREAM) # 链接服务端 ip = ...
- Vue_小练习
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta name ...
- leetcode笔记:Sort Colors
一. 题目描写叙述 Given an array with n objects colored red, white or blue, sort them so that objects of the ...
- Standalone 集群部署
Spark中调度其实是分为两个层级的,即集群层级的资源分配和任务调度,以及任务层级的任务管理.其中集群层级调度是可配置的,Spark目前提供了Local,Standalone,YARN,Mesos.任 ...
- cf1089d Distance Sum
题目大意 给一个有n个点,m条边的无向连通图,求所有点两两之间的最短路.$(2<=n<=10^5;n-1<=m<=n+42)$ solution 我们注意到$m-n+1$很小. ...
- 如何优雅的写UI——(5)选项卡功能实现
先在我们的选项卡可以说能用了,每个标签页都能点进去,但是这还远远没到能用的地步,比如说你把窗口最大化后. 立马就露出马脚了,所以这篇我们要先讲讲tabctrl的最基本的功能实现 改变选项卡大小 上图的 ...
- LightOJ 1300 Odd Personality
Odd Personality Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on LightOJ. Ori ...
- DOM和SAX是应用中操纵XML文档的差别
查看原文:http://www.ibloger.net/article/205.html DOM和SAX是应用中操纵XML文档的两种主要API.它们分别解释例如以下: DOM.即Do ...