我正在使用phonegap开发ios本机应用程序。此应用程序具有条形码扫描和Facebook连接功能。我正在使用phonegap版本2.9.0。
用户必须在启动应用程序时使用facebook凭据登录。应用程序中有一个按钮,它将重定向到浏览器(safari),以便在单击按钮时询问facebook登录。此外,此应用程序具有Facebook帖子功能。
它的工作正常(facebook connect和barcodescanner)与phonegap版本2.9.0。
现在,在我升级phonegap版本3.3.0后,facebook connect(用于登录)无效。 在浏览器(safari)启动后,它说“redirect_uri必须是绝对的”。
我正在使用this link。将phonegap版本升级到3.3.0后,我没有更改我的应用程序逻辑。我点击按钮时使用以下代码进行facebook初始化和facebook登录。
Facebook初始化
FB.init({ appId: "<appid>", nativeInterface: CDV.FB, useCachedDialogs: false });
Facebook登录
FB.login(function(response){},{scope:"email"});
我也尝试更改appid,同样的响应。
我已经包含了用于phonegap框架和facebook连接框架的JS文件,并且在加载应用程序时会加载它们。我很确定。构建应用程序时没有错误。
请让我知道我做错了什么。
- 斯里达尔
答案 0 :(得分:0)
redirect_uri错误通常会引发,如下所示。
不要在初始化中使用redirect_uri或只在开发者页面FB app中添加方法。这应该有用。
答案 1 :(得分:0)
这link可能会有所帮助。
但是,我无法使其自动安装
phonegap local plugin add https://github.com/mallzee/phonegap-facebook-plugin.git --variable APP_ID="[FB APP ID]" --variable APP_NAME="[FB APP NAME]"
它对我说:[错误]缺少变量:APP_ID,APP_NAME
答案 2 :(得分:0)
这为我修好了。显然,cordova无法将插件配置中的APP_ID和APP_NAME变量复制到.plist中,因此我必须进入并编辑cordova构建生成的.plist文件,其中包含变量值。
在platform/ios/<appname>/<appname>-Info.plist
下搜索该文件中的$ APP_ID和$ APP_NAME,并将其替换为其值。
执行此操作后,登录正常。