【发布时间】:2017-06-22 15:52:54
【问题描述】:
我正在创建一个包含facebook login 的phonegap 构建应用程序。
下面是一些细节。
- 该应用程序有一个登录 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" ); }
);
- 以上代码在安卓应用上运行良好。
- 上述代码在 iOS 应用中不起作用
用于测试的设备:iPad mini iOS 10.x 版。
在developer.facebook.com上,iOS平台的应用设置如下:
捆绑 ID:与 phonegap 的 config.xml 中的小部件 ID 相同
iPhone 商店 ID:空
url方案后缀:空
ipad 商店 ID:空
单点登录切换:是
以下是 iOS iPad 的当前行为: 1. 用户在 iOS 应用中点击使用 Facebook 登录 2. 用户被带到 safari 浏览器中的 facebook 权限页面 3. 用户输入用户名和密码 4. 请求用户许可,用户点击“确认” 5. Safari 显示一个弹出窗口询问“在应用程序中打开?” 6.用户点击打开 7. 用户被带到相同的应用程序和相同的页面,并显示相同的登录链接。
请注意,控件根本不会传回以继续执行脚本,这几乎是应用程序从头开始重新启动。
Safari 网络检查器没有显示任何错误。
Mac 上的 GapDebug(我使用的是 virtualbox Yosemite mac 版本)没有显示任何错误。
请帮忙,因为我现在不太确定,我还缺少什么。
【问题讨论】:
标签: ios facebook cordova cordova-plugins phonegap-build