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 友盟分享的更多相关文章

  1. iOS友盟分享的使用总结

    现在几乎所有的APP都会集成分享,为了可以更好的推广自己的APP. 目前市面上常用的分享无非就三个: 1.友盟分享; 2.shareSDK(mob); 3.苹果原生. 由于苹果原生的分享使用起来不方便 ...

  2. iOS开发-友盟分享(3)

    iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...

  3. iOS开发-友盟分享(1)

    1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...

  4. iOS开发——iOS10升级极光推送SDK、友盟分享SDK

    前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...

  5. iOS开发——友盟分享

    ==========2016-01-29 更新=====刘成利 email:liu_cheng_li@qq.com========== 自己成功集成到公司的项目前,也已做了测试好的友盟分享demo 目 ...

  6. 友盟分享小结 - iOS

    因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...

  7. 友盟分享到微信的几点备忘(IOS)

    1.下载最新的友盟分享版本,参考友盟官方的demo 2.注册微信开放平台用户,不是公众平台,注册应用 3.参考文档和demo,加入sdk包和相应的lib 4.在plist加入URL types.URL ...

  8. ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现

    问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...

  9. iOS开发-友盟分享使用(2)

    1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...

随机推荐

  1. centos7 nginx搭建及其反向代理

    摘要:nginx反向代理的原理:外部通过ip加端口访问nginx,nginx接收到外部请求,通过ip解析访问内部服务器,内部服务器再将数据传回Nginx服务器,而Nginx再把数据传回给外部客户机. ...

  2. Convolution & Pooling exercise

    convolution First, we want to compute σ(Wx(r,c) + b) for all valid (r,c) (valid meaning that the ent ...

  3. 学习推荐《从Excel到Python数据分析进阶指南》高清中文版PDF

    Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作.在Python中pandas库用于数据处理,我 ...

  4. OpenJDK源码研究笔记(十三):Javac编译过程中的上下文容器(Context)、单例(Singleton)和延迟创建(LazyCreation)3种模式

    在阅读Javac源码的过程中,发现一个上下文对象Context. 这个对象用来确保一次编译过程中的用到的类都只有一个实例,即实现我们经常提到的"单例模式". 今天,特意对这个上下文 ...

  5. 数据库更新DATE类型的时间

    使用to_date() 进行格式转换 to_date('2018/11/16','yyyy/MM/dd') update tableName t set t.shipment_date = to_da ...

  6. C++ 不输入回车就不结束输入的实现方法

    方法一 char mystr[128]; mystr[0] = '\0'; char c = getchar(); int i=0; while(c!='\n') { mystr[i] = c; c ...

  7. hdu 5375 - Gray code(dp) 解题报告

    Gray code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  8. 【Android界面实现】使用GestureOverlayView控件实现手势识别

    在Android开发中,我们不光能够使用已有的实现方式.并且,我们还能够利用Android这个智能手机平台.实现一些比較有特色的功能. 本篇文章介绍使用GestureOverlayView这个控件.实 ...

  9. View State

    如何查看viewstate 鼠标右键页面,然后view page source 源码中搜索viewstate,会找到一个隐藏的字段. <input type="hidden" ...

  10. 突破极限 解决大硬盘上安装Unix新思路

    一.问题提出 硬盘越做越大,然我喜欢让我忧.10年前就遇到过在586电脑BIOS不认识超过8.4G容量硬盘的问题,以及Windows Nt操作系统不认大硬盘(容量超过8.4G)的问题,对于Linux ...