iOS友盟分享--集成Facebook官方SDK

一直用的友盟分享,最近客户提了个新需求要求可以分享到Facebook  想到友盟就有FB分享 万分激动啊。。

但是测试后发现 友盟的Facebook 两种都存在一定问题。。

第一种   使用系统自带Facebook需要先在手机上设置Facebook账号

优点:这种分享简单 不需要配置Facebook AppID

缺点:继承了系统Facebook 不能预填写分享内容的特点(一般的app分享内容是要预填写的  怎么着也得王婆卖瓜对不对。。所以这个缺点很致命);

第二种:使用应用内网页分享 (这种分享 友盟官方demo 都无法分享成功 ==)

优点:不用费脑子想了,就是没有优点

缺点:都分享不了了  你说呢

既然这样。。 只能手动集成了。。。 ==

---------以上纯属抱怨  ----下面进入正题---

集成友盟就不累赘讲了

首先 你需要进入https://developers.facebook.com注册一个应用 得到一个 App ID

官方文档地址 https://developers.facebook.com/docs/ios/getting-started

首先 下载 Facebook sdk 下载下来是.pkg安装文件

安装完成  在~/Documents/FacebookSDK 路径下 可以找到 Facebook的sdk

把 FBSDKLoginKit.framework FBSDKShareKit.framework FBSDKCoreKit.framework 拖拽到项目下

选择 Create groups for any added folders.

在项目的.plist文件内  新建一个FacebookAppID key   value 是上面在Facebook注册完应用得到的appID

然后 在 info ->URL types ->点击加号 在url schemes 里填写 fb+appID (如:fb91136964205)

最后 在appdelegate.m 中添加下面代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                  didFinishLaunchingWithOptions:launchOptions];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                        openURL:url
                                              sourceApplication:sourceApplication
                                                     annotation:annotation];
}

 ---到这里--Facebook SDK 集成完毕-----

然后 需要重新定义友盟的 sharetofacebook 平台

截获友盟Facebook平台的点击事件 走官方sdk

UMSocialSnsPlatform *fbPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToFacebook];

fbPlatform.needLogin = NO;

NSString *shareUrlStr = @"www.baidu.com";

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

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];

content.contentURL = [NSURL URLWithString:shareUrlStr];

content.contentDescription = shareContentText;

content.contentTitle = @"test sharefb";

content.imageURL = [NSURL URLWithString:@"http://dev.umeng.com/system/images/W1siZiIsIjIwMTQvMDMvMTIvMTZfMjFfNDBfNTc3X3NvY2lhbF9zaGFyZWxpc3RfYWN0aW9uc2hlZXQucG5nIl1d/social_sharelist_actionsheet.png"];

[FBSDKShareDialog showFromViewController:self

withContent:content

delegate:nil];

};

---到这里  --大功告成了^_^-----

PS:我也不想干巴巴的说。。但是不老写博客。。不知道怎么加图片 ==

Demo 地址: https://github.com/Rachel829/UMShareToFBDemo

时间: 2024-10-10 13:45:48

iOS友盟分享--集成Facebook官方SDK的相关文章

iOS 友盟分享

博文一 1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就行 3.整合完之后就开始上代码了 ShareManage.h [objc] view plaincopy // //  ShareManage.h //  KONKA_MARKET // //  Created by wxxu on 14/12/18. //  Copyright (c) 2

友盟分享--集成QQ和微信

随着社交工具的应用范围越来越广,分享一些内容的功能也开始要求实现了. 用得比较多的第三方,比如说友盟,比如说Share等等... 前几天刚用友盟写了集成QQ和微信客户端的功能,觉得有必要分享一下. 在这之前,你需要有一个友盟的appkey...(木有的可去注册),并下载你所要的SDK: #import "UMSocial.h" //设置友盟分享社会化组件appkey    [UMSocialData setAppKey:UM_appkey]; 先说集成QQ的吧: 首先,在UMSocia

IOS 友盟分享功能相关问题

1.分享功能弹出控制面板 [UMSocialSnsService presentSnsIconSheetView:self appKey:@"507fcab25270157b37xxxxxx" shareText:@"你要分享的文字" shareImage:[UIImage imageNamed:@"icon.png"] shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShare

iOS开发-友盟分享(3)

iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后获取到一个Key; 三.  在AppDelegate内设置友盟AppKey -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UM

iOS 微信支付SDK与微信友盟分享两者同时集成时,出现的问题与解决之路。

这两天改版一个旧的APP,要旧貌换新颜,拿到app后进行编译,一直报下面的错误. 报不认识的符号名PayReq错误.奇怪,啥也没动就这样,真不知道给的包是不是本来就是个报错的工程. 不管怎样,要对它修改就先要跑起来啊. 根据错误提示,判断是libwechatsdk.a里面没有这个方法.顺藤摸瓜按照下面的步骤开始了解决旅途. 阶段一 1. 手动添加了微信支付SDK源码到工程 2. pod 'UMengUShare/Social/WeChat'添加了微信分享, 编译时报错如下: 说明导入的微信支付S

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

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

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

前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分享SDK和升级过程中的遇到的报错 一. 升级极光推送SDK,有一篇不错的博客,代码变更也写的挺详细就不在多写, 遇到的编译报错见第三部分 http://blog.csdn.net/cloud_pro/article/details/52574637 二. 升级友盟分享SDK到目前最新版5.2.1(升

IOS 集成友盟分享

#import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWithRedirectURL:(NSString *)redirectURL; @end #import "AppDelegate.h" #import "UMSocial.h" #import "UMSocialSinaHandler.h" @inter

iOS之友盟分享

http://dev.umeng.com/social/ios/share/quick-integration 注意:苹果审核政策需求,建议对未安装的客户端平台进行隐藏,在设置QQ.微信Appid之后调用方法: [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享平面平台有隐藏功能,