Quick3.3 接入Facebook 适配iOS10

前段时间我们手游出现在iOS10系统上Facebook登录调出白色网页,什么内容都没有。

经过测试发现,在iOS10以下系统都没问题,唯独在iOS10系统上就会出现此现象。首先想到的是Facebook本身SDK可能不支持iOS10系统,于是翻墙到Facebook官网查看,发现确实有新的SDK适配iOS10系统,欣喜若狂,那不就是替换一下SDK的事,替换完成之后,测试一看,竟然还是一样,那就排除SDK问题。然后就是网上查找各种帖子,发现少之又少,goole查找还算找到一点,可惜我英文不好,看不懂,哈哈,不过不要紧,有些关键字还是知道的,照着上面的几种方法修改,还是不行。折磨了我两天之后,终于在我一次次的测试(这边改下,那边改下),被我找到原因了。

首先:我们的手游是用Quick-Cocos2d-x3.3 版本开发的,FB的有关操作我集合到了一个继承于UIViewController的类


用的是Facebook的FBSDKLoginButton按钮进行的登录操作:


登录时首先把FB集合类添加到程序的主视图中,然后才会显示Facebook的web登录页面,不加是不会显示的。使用FBSDKLoginButton登录时创建好了还须监听FB登录回调事件。

之后通过测试,发现这种方法无论怎么搞在iOS10系统上都是一个空白的web登录界面,什么都操作不了。后来看到官网上还有一种Facebook登录接口,用的是FBSDKLoginManager这个类登录,果断换了试一下,发现还是没有效果,最后在AppController.mm类中启动游戏就调用FBSDKLoginManager类登录FB,发现有用了,得出结果就是:在iOS10系统上,FB登录一定得在主视图上做操作,子试图不行。(iOS10之前的是可以的),最后用的代码:


解释下funId是Lua调用OC函数时传过来的函数,登录成功之后把FB的userId、昵称nickName、FB头像地址等传回Lua函数进行登录操作。

方法:UIViewController* ctrol=[UIApplicationsharedApplication].keyWindow.rootViewController;是获取app主视图。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这几天接facebook登录分享邀请等功能 facebook 开发者中心网址:https://developers...
    曾令伟阅读 6,059评论 2 1
  • 1.尺寸适配1.原因 iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不...
    LZM轮回阅读 6,137评论 1 4
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,098评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,908评论 0 2