Phonegap构建cordova-plugin-facebook4插件在iOS上不起作用



我正在创建一个包含facebook loginphonegap构建应用程序。以下是一些细节。-该应用程序有一个登录与facebook按钮

  • 它使用cordova-plugin-facebook4插件(https://www.npmjs.com/package/cordova-plugin-facebook4)

  • 集成代码如下:

facebookConnectPlugin.login( ["public_profile"],
function ( userData ) {
alert( "login" );
//fetch user info using graph api
facebookConnectPlugin.api( "me/?fields=id,name,email,gender", ["email", "public_profile"],
function ( result ) {
alert( "login success" );
//store access token in local storage
facebookConnectPlugin.getAccessToken( function ( token ) {
console.log( "Token: " + token );
} );
},
function ( error ) {
alert( "Failed: " + error );
} );
}, function ( error ) { alert( "error" ); }
);
  • 以上代码在android应用程序上运行良好

-以上代码在iOS应用程序中不起作用

用于测试的设备:IPad mini iOS版本10.x。


developer.facebook.com上,iOS平台的应用程序设置如下:

捆绑包ID:与phonegap 的config.xml中的小部件ID相同的值

iPhone商店id:空

url方案后缀:空

ipad商店id:空

单一登录切换:YES


以下是iOS iPad的当前行为:1.用户在iOS应用程序中使用Facebook点击登录2.用户被带到safari浏览器中的facebook权限页面3.用户输入用户id和密码4.询问用户权限,用户点击"确认"5.Safari显示一个弹出窗口,询问"在应用程序中打开?"6.用户单击"打开"7.用户被带到相同的应用程序和相同的页面,并显示相同的登录链接。

请注意,控制权根本没有传回来继续脚本,几乎是应用程序从一开始就重新启动了。

Safari web检查器未显示任何错误。

mac上的GapDebug(我使用的是virtualboxYosemite mac版本)没有显示任何错误。

请帮忙,因为我现在不太确定,我还缺少什么。

我知道回答这个问题已经很晚了,但它可能会帮助其他人解决这个问题。这是的解决方案

<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-inline' 'unsafe-eval'">

将其添加到index.html中。gap://ready是iOS 10 所必需的

相关内容

  • 没有找到相关文章

最新更新