gpt4 book ai didi

ios - Ti.Facebook 未打开授权并安装了 FB 应用程序

转载 作者:可可西里 更新时间:2023-11-01 05:51:09 26 4
gpt4 key购买 nike

编辑:来自 future 的亲爱的人们,trey-jones 已经通过实现 setLoginBehavior 解决了这个问题。 ,FBSDKLoginNative 似乎在 FB 端有问题,而不是模块。

环境:

MacOS X 10.10.5
Ti SDK 5.1.1.GA - 5.1.2.GA
iOS 9.2
Ti.Facebook 5.0.0 - 5.0.1

我的项目设置 (tiapp.xml) 没问题(它适用于 iOS 和 Android 上的所有其他情况)。

我用来调用登录的代码:

var fb = require('facebook');
fb.initialize();
fb.authorize();

如果设备上安装了 Facebook 应用程序,则 fb.authorize() 不会打开。发生这种情况时,我也没有看到任何 iOS 系统级消息。

有没有其他人有幸在安装了应用程序的 iOS 设备上使用 fb.authorize 和新的 sdk。由于系统上没有 fb 应用程序,它可以正确打开基于浏览器的 View 。

编辑:基于登录与 AppC 的 KitchenSink 一起工作的事实,我已经为此管理了一个解决方法(它不是很漂亮)。

解决方法是在代码中添加一个 Ti.FB loginButton,如果它不可见也没关系,初始化它将修复导致自定义登录的 .authorize() 不起作用的任何问题。

//Workaround button:
if(OS_IOS){
var fbHaxBtn = fb.createLoginButton({
readPermissions: ['email'],
visible: false
});
}
//It needs to be added to the window/doesn't need to be visible though
$.login_window.add(fbHaxBtn);

//Then in our custom button's code, we can fire as normal:
function doLoginClick{
fb.initialize(); //I was having unexpected issues dropping this line on Android, although the docs say its deprecated.
fb.authorize();
}

如果/当这个问题得到正式修复时,将更新此票证。

最佳答案

这是我对这个问题的第二个回答。我相信我最初的回答为对话提供了一些值(value),这就是我离开它的原因,但它仍然没有始终如一地解决 facebook 授权不起作用的问题。

一致的方案原来是修改Ti.Facebook官方模块。我将提交此更改的拉取请求(1 行),但现在,您可以在此处获取工作模块:

Source

Pre-built

这始终允许用户通过明确设置登录行为以使用浏览器而不是通过快速应用程序切换使用 native Facebook 应用程序来进行授权。 This is actually the intent of Facebook's developers.

我无法确定是什么导致它在尝试使用 native 应用程序登录时失败 - 它应该尝试下一个选项,即浏览器 - 但这有效,并且也不需要 TiFacebookButton。

希望对其他人有帮助!

关于ios - Ti.Facebook 未打开授权并安装了 FB 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com