我正在开发一个iOS应用程序,允许用户登录Facebook,然后使用Facebook Chat API向他的朋友发送消息.
要连接我的Facebook帐户,我正在使用xmppframework(https://github.com/robbiehanson/XMPPFramework).连接已经建立,我可以发送消息给我的朋友.但是,当重新打开对话(Facebook网站,信使)时,该消息将不再可用,并显示一条新消息:"此消息不再可用,因为它被识别为滥用或标记为垃圾邮件".
我不知道发生了什么.我已经尝试检查权限,跟踪身份验证流程,我发现没有任何异常.
有人知道我要做些什么来避免这种情况吗?
我正在开发一个与Facebook SDK集成的iOS应用程序.当我第一次使用我的Facebook帐户登录时,它需要执行以下步骤:
当我按下注销按钮时,我运行以下代码:
- (void)logout {
[FBSession.activeSession closeAndClearTokenInformation];
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,我可以使会话无效并清除访问令牌信息.但是,当我尝试再次登录时,我的应用程序跳转到safari Web登录,我的帐户已经登录(下一张图片).

如果我想用另一个Facebook帐户登录,我不能这样做.换句话说,我想按照我之前说过的步骤或者有一个像"不是你?"这样的机制.Facebook官方应用程序提供.
知道我要做什么吗?
我正在尝试使用我的应用程序在Facebook上分享照片并启动Intent.ACTION_SEND.我的代码如下:
File file = new File(imagePath);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType(MimeTypeUtils.getMimeType(imagePath));
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
sharingIntent.setPackage("com.facebook.katana");
baseFragment.startActivityForResult(sharingIntent, Values.REQUEST_CODE_FACEBOOK_SHARE);
Run Code Online (Sandbox Code Playgroud)
我正在没有问题地进行共享,即使取消操作或成功执行,我总是得到0(零)结果.我必须调用startActivityForResult,因为我需要收到一个Result来保存关于我的共享的记录.我处理结果代码的代码如下:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
case Values.REQUEST_CODE_FACEBOOK_SHARE:
if (resultCode == Activity.RESULT_OK){
//Save a new record
}
else {
//Do nothing
}
break;
}
Run Code Online (Sandbox Code Playgroud)
应用程序永远不会输入if子句,因为结果代码始终为0.我不知道发生了什么.我认为实施的机制是预期的.有什么建议吗?