更改权限后无法在 Cordova iOS 上使用 Facebook SDK 登录
Posted
技术标签:
【中文标题】更改权限后无法在 Cordova iOS 上使用 Facebook SDK 登录【英文标题】:Can't login with Facebook SDK on cordova iOS after changing permissions 【发布时间】:2015-11-24 22:13:01 【问题描述】:我正在使用带有此插件的 Cordova 最新版本https://github.com/jeduan/cordova-plugin-facebook4...在第一个版本中,我仅获得了以下权限:
id,email,birthday
在第二个版本中,我获得了以下权限:
id,email,birthday,gender,first_name,last_name
导致以下错误:
domain=com.facebook.sdk.login code=304
但如果我删除了该应用程序并重新安装它,它就可以正常工作!
那么,我现在该怎么办?生产中的应用程序,并且所有用户都无法登录,并且要求所有用户删除该应用程序并重新安装它真的很难!有什么想法可以发布另一个带有补丁的版本来解决这个问题吗?
我认为这里有一个解决方案:ios facebook sdk 4.0 login error code 304,但我不是一个好的 Objective C 开发人员,不知道如何在插件中实现它!
【问题讨论】:
【参考方案1】:我点击了这个链接:ios facebook sdk 4.0 login error code 304
并制作了这个补丁: https://github.com/mabdelfattah/cordova-plugin-facebook4/commit/e55b974ee62a6c98293fadda688e0382b5e2d45c#diff-c05c80840d093f0d14fb66a56466e521
【讨论】:
【参考方案2】:问题是因为cordova facebook 插件调用facebookConnectPlugin.getLoginStatus()
缓存了FB 响应。它不允许我们在该调用中强制服务器跳闸(而在 FB javascript SDK 中它可以)。
当我收到 304 时,我通过调用 facebookConnectPlugin.login()
解决了这个问题。这会强制服务器在重新登录时重新加载 FB 权限。
【讨论】:
以上是关于更改权限后无法在 Cordova iOS 上使用 Facebook SDK 登录的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 8.4.1 上使用 Cordova 无法打开链接(和点击)
更改 Cordova Geolocation iOS 的显示名称
移动后iOS上的cordova-plugin-media-with-compression似乎无法播放音频文件
Cordova/Ionic 2 相机权限问题 iOS 10.2.1