2015-12-03 116 views
1

我正在使用Ti SDK 5.1.0。我的开发平台是iOS。我的iOS版本8.1。 Facebook SDK版本是4.0.5。 我的Facebook注销功能无法正常工作。用户通过Safari登录来授权我的应用程序。登录功能正常工作。要注销用户,请单击注销按钮。我执行下面的代码注销。Facebook登出无法正常工作钛

function logoutFb() { 
     fb.addEventListener('logout', function(e) { 
      var client = Titanium.Network.createHTTPClient(); 
      client.clearCookies('https://m.facebook.com'); 
      client.clearCookies('http://m.facebook.com'); 
      client.clearCookies('https://login.facebook.com'); 
      fb.uid = null; 
      fb.accessToken = null; 
     }); 
     fb.logout(); 
    }; 

执行上述功能后,我检查fb.loggedin属性显示为false。当用户尝试再次登录时。 Safari不会要求输入用户名和密码,而是会显示“您已经授权此应用程序”。什么是问题的解决方案,以便在注销后用户必须再次提供用户名和密码。还有一件事是在Safari中手动从Facebook登出,即通过打开Facebook.com并注销。我上面的Facebook注销事件侦听器从不执行。

回答

0

当您从应用程序中注销FB时,它会销毁当前会话,但不会回滚用户给予应用程序的权限。用户可以通过https://www.facebook.com/settings?tab=applications或在应用程序中执行此操作,您可以使用此处讨论的图形请求之一:Facebook deauthorize my app

+0

我尝试了人们在您提供的链接上发布的建议。但通过与DELETE请求通过facebookGraphAPI执行** /我/权限**或** uid /权限**没有运气。我的应用总是崩溃。 'fb.requestWithGraphPath(“/ me/permissions”,“DELETE”,function(res){});' –

+0

什么是crashlog?您在注销之前确实会调用此图表我假设? –

+0

我正在执行它独立没有fb.logout() –