ios 新版本 facebook SDK 分享方法
管理的例子挺好的。
官方的登录文档地址https://developers.facebook.com/ios/login-ui-control/
使用方法
第一步添加appid
在info.plist中添加FacebookAppID
第二步添加loginview。facebook已经为用户做好了登录的方法
facebook的登录有3种
1:ios6以上自带的登录
2:facebook 原生程序登录
3:网页登录
FBLoginView *loginview = [[FBLoginView alloc] init];loginview.frame = CGRectOffset(loginview.frame, 5, 5);loginview.delegate = self;[self.view addSubview:loginview];[loginview sizeToFit];
如果没有1,和2.使用页面登录时候。
需要添加url schema 中添加fb+appid
appdelegate.m中添加
- (BOOL)application:(UIApplication *)applicationopenURL:(NSURL *)urlsourceApplication:(NSString *)sourceApplicationannotation:(id)annotation {// attempt to extract a token from the urlreturn [FBAppCall handleOpenURL:urlsourceApplication:sourceApplicationfallbackHandler:^(FBAppCall *call) {NSLog(@"In fallback handler");}];
}
下面处理loginview的回调方法
- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView;- (void)loginViewFetchedUserInfo:(FBLoginView *)loginViewuser:(id<FBGraphUser>)user;- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView;- (void)loginView:(FBLoginView *)loginViewhandleError:(NSError *)error;
1登录。
2收到用户信息
3退出
4:登录异常
登录以后发送消息
// Post Status Update button handler; will attempt different approaches depending upon configuration.
- (IBAction)postStatusUpdateClick:(UIButton *)sender {// Post a status update to the user's feed via the Graph API, and display an alert view// with the results or an error.NSURL *urlToShare = [NSURL URLWithString:@"http://developers.facebook.com/ios"];// This code demonstrates 3 different ways of sharing using the Facebook SDK.// The first method tries to share via the Facebook app. This allows sharing without// the user having to authorize your app, and is available as long as the user has the// correct Facebook app installed. This publish will result in a fast-app-switch to the// Facebook app.// The second method tries to share via Facebook's iOS6 integration, which also// allows sharing without the user having to authorize your app, and is available as// long as the user has linked their Facebook account with iOS6. This publish will// result in a popup iOS6 dialog.// The third method tries to share via a Graph API request. This does require the user// to authorize your app. They must also grant your app publish permissions. This// allows the app to publish without any user interaction.// If it is available, we will first try to post using the share dialog in the Facebook appFBAppCall *appCall = [FBDialogs presentShareDialogWithLink:urlToSharename:@"Hello Facebook"caption:nildescription:@"The 'Hello Facebook' sample application showcases simple Facebook integration."picture:nilclientState:nilhandler:^(FBAppCall *call, NSDictionary *results, NSError *error) {if (error) {NSLog(@"Error: %@", error.description);} else {NSLog(@"Success!");}}];if (!appCall) {// Next try to post using Facebook's iOS6 integrationBOOL displayedNativeDialog = [FBDialogs presentOSIntegratedShareDialogModallyFrom:selfinitialText:nilimage:nilurl:urlToSharehandler:nil];if (!displayedNativeDialog) {// Lastly, fall back on a request for permissions and a direct post using the Graph API[self performPublishAction:^{NSString *message = [NSString stringWithFormat:@"Updating status for %@ at %@", self.loggedInUser.first_name, [NSDate date]];FBRequestConnection *connection = [[FBRequestConnection alloc] init];connection.errorBehavior = FBRequestConnectionErrorBehaviorReconnectSession| FBRequestConnectionErrorBehaviorAlertUser| FBRequestConnectionErrorBehaviorRetry;[connection addRequest:[FBRequest requestForPostStatusUpdate:message]completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {[self showAlert:message result:result error:error];self.buttonPostStatus.enabled = YES;}];[connection start];self.buttonPostStatus.enabled = NO;}];}}
}
以上是官方给的代码
ios 新版本 facebook SDK 分享方法相关推荐
- cocos creator ios 接入 facebook sdk login
主程序是cocos creator 发布ios时要接facebook登录的sdk cocos creator 发布ios版本后 按官方文档配置接入,碰到以下问题 执行 sudo gem install ...
- iOS对接Facebook:登录,分享,邀请,游戏排行榜功能
<div id="article_content" class="article_content"> <div class=& ...
- IOS友盟 社会化分享 社会化iOS组件 分享集成
由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMSh ...
- Android 集成原生google,facebook 登录分享sdk
前言 海外版app集成三方登录分享,早期采用umeng sdk,由于googleplay对用户隐私及用户数据的使用有比较严格规定.正好 umeng sdk会后台采集app信息,触发用户隐私相关政策条款 ...
- 游戏联运系统SDK iOS悬浮球的实现方法
本文将为大家实现在iOS中悬浮球功能,希望大家阅读完这篇文章后对相关知识有一定的了解. 首先我们创建一个View,在View内新建一个Button作为悬浮按钮,当然你也可以直接继承自UIButton. ...
- ios使用友盟分享到QQ/微信时时如何判断手机上是否安装了QQ以及微信的客户端
iOS 在使用友盟时,使用微信分享.登录必须安装微信客户端,QQ登录.QQ空间分享过程中必须安装手机QQ客户端,在未安装客户端的设备上测试会提示下载,这是不符合苹果审核规则的.这是微信及腾讯QQ互联导 ...
- ios android 内存不足,怎样解决手机内存不足?iOS系统可以试试这些方法
原标题:怎样解决手机内存不足?iOS系统可以试试这些方法 怎样解决手机内存不足?不管储存空间有多少GB,使用时间一长都会被满满的数据占据,有的时候甚至会出现储存空间不足的情况,怎么才能清理手机里的内存 ...
- android版本迭代,多盟:android2.3仍是主流 iOS新版本迭代加
暨多盟成立两周年之际,多盟推出2012年移动数据报告,致力于帮助移动应用开发者和进行移动营销的广告主全面深入了解移动广告发展现状和趋势.根据数据报告显示,android2.3仍是主流,4.1增长迅速; ...
- gg 修改器游戏被保护_王者荣耀安卓和IOS修改超长游戏名字方法
王者荣耀安卓和IOS修改超长游戏名字方法 21个字超长游戏昵称代码 方法在文末 者荣耀中,游 戏ID虽然并不是被玩家所看重,但是更多的00后玩家喜欢一些酷炫一些并且与众不同的名字,因此又不少玩家都尝试 ...
最新文章
- IEEE最新薪资报告 | 手机开发者年入153万,机器学习并非最高(附链接)
- gcc build a project
- Spring Security 决策器前缀修改
- 有关BST搜索树转换为AVL高度平衡树的旋转问题
- ubuntu编译并调试OpenJDK8源码实践
- 算法 --- 二叉树查找树的先序(中序、后序)遍历的js实现
- 微软 改变 开源【几个站点】
- Magento教程 11:Inline Translation前台改文
- 如何打造顶级目标检测算法?百度官方揭秘 ECCV2020 双料冠军的理论与实践
- mybatis+Druid连接池的问题
- SylixOS armv8 任务切换
- 【 CPLEX安装】
- MacOS 10.14.5单双面打印设置
- 禁忌搜索算法及TS解TSP问题
- 《信息安全技术》实验四 木马及远程控制技术
- 通过isapi协议抓拍图片
- ios微信分享失效_微信分享ios失败?
- php 分换算成元,亿元换算成元(亿元换算成元加几个零)
- DeepCross Network(DCN)
- 四城市十行业紧缺人才信息公布
热门文章
- AMD 和 CMD 的区别有哪些? (玉伯)
- 怎么查看CAD图纸文件呢?CAD快速看图有什么好的方法吗?
- LuaPlus使用入门
- 交易猫转转闲鱼源码搭建
- 山工kw什么意思_山工是什么意思和拼音怎么读
- java智慧农业水果销售系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- 2020江苏省大学生计算机设计大赛,我校学生在2020年中国大学生计算机设计大赛江苏省级赛中喜获佳绩...
- 那些年,我用过的Java线上故障排查工具和方法整理
- 专利的保护期限是多久?过期了应该如何处理?
- 音频数据的Flash读取与DAC播放