Facebook登录错误 "用户无法查看该应用程序。"

46
你好:我已经将我的应用程序提交到App Store。 我的应用程序中有Facebook登录功能。 当我尝试从我拥有的设备上登录Facebook时,我能够无缝地完成。 但是,苹果公司拒绝了我的应用,称“当我们点击Facebook图标进行注册时,我们被带到移动Safari,在那里我们收到一条消息,说明:

用户不允许查看应用程序:根据开发人员设置的配置,该用户不允许查看此应用程序。

我不确定如何重现这个问题。我在三个不同的设备上安装了我的应用程序,并且能够成功登录,没有任何错误。 我在Facebook的“状态和审核”部分检查了我的应用程序设置,并已启用我的普通公众。 不确定我还错过了什么。 我感到非常沮丧。 请问有谁可以帮我解决这个问题吗? 我正在使用parse作为后端服务,并使用parse Facebook登录记录用户。 非常感谢!

应用程序是否锁定在特定的国家或年龄范围内?它仍处于开发模式吗? - Igy
不,它没有锁定到任何特定的国家或年龄范围。我如何检查应用程序是否仍处于开发模式?在状态和审核下,我已启用应用程序以供普通公众查看。 - user2562080
1
这个错误几乎总是意味着状态和审核上的切换被设置为“否”,用户被阻止(罕见情况),或者应用程序存在国家/年龄限制(不太可能但并非没有发生)- 你确定在登录代码中使用的是与你正在检查设置的应用程序相同的应用程序ID吗?我曾经看到过人们经常混淆开发/ QA / prod应用程序ID。 - Igy
我现在有一个问题,是关于一个开发者用户在应用程序上创建的测试用户。状态/审核、国家和年龄限制都很好,而且该用户没有被屏蔽。如果我找到解决方案,我会在这里发布。 - Jeremy Schultz
1
我几天前遇到了这个问题,问题出在苹果那边。我问审查员他们是如何生成用户的,但没有得到答案。最后我创建了一个全新的Facebook账户,并要求他们使用该账户重现问题,但他们无法重现,因此审核过程继续 :) - Bruno Berisso
我刚刚从苹果收到了一个拒绝通知,这个问题是我可以解决的真正问题吗?还是这是苹果的问题? - Chen
11个回答

94

如果您尝试登录的应用程序与您作为测试用户登录的不同应用程序相同,则另一个原因是这将发生。Facebook测试用户是特定于应用程序的。

从Facebook中注销,然后使用来自正确应用程序的测试用户重新登录。


2
我曾经遇到过这个问题,这是解决方案。 - Chilv
同样的情况也发生在我这里。从来没有像另一个答案中提到的那样设置命名空间。只需确保您未登录为来自其他应用程序的测试用户即可。我们在Facebook上有两个应用程序,分别是staging和production,以便测试我们的服务器。生产应用程序测试帐户将无法与暂存应用程序配合使用,反之亦然。 - Kevin
是的,我也遇到了这个问题。关键是你必须为测试用户创建一个密码,然后登录到FB,接着进入你的应用并进行Facebook登录。假设应用程序接受该用户,则它将正常工作。 - Cédric NICOLAS
刚刚我的一个应用也被苹果拒绝了。我向他们提供了我们的一个测试用户,并将这个答案链接给了他们。 - nickdnk

14

前往Safari > http://m.facebook.com > 登出 在使用Safariviewcontroller的应用中,有时会包含来自不同应用的测试用户


1
这个对我有用,谢谢! - Cory McAboy

2

在我的情况下,我在代码中使用了错误的Facebook应用程序ID。所以我添加了正确的ID,然后它就可以正常工作了。


我也遇到了这个问题。后来发现我使用的Facebook ID并不是分配给我正在工作的环境的那个。 - Mauricio Sartori

2
这个问题的原因是Apple的测试人员使用了同一个Facebook测试账户,这个账户是用来测试其他应用程序的,并且他们没有退出该账户(忘记退出),而且这个Facebook测试账户没有当前正在审核的应用程序的权限,这就是为什么会出现这个问题的原因。
你可以通过创建一个测试账户并按照给定的链接来重现此问题。

http://samwize.com/2014/07/23/error-with-facebook-login-using-test-users/

创建Facebook测试账户的步骤:

https://developers.facebook.com/docs/apps/test-users#managetool


1
我们遇到了这个问题,结果发现问题应用程序在“设置 > 基本”选项卡中没有设置命名空间。创建一个命名空间是解决此问题的方法。

感谢您的回答!然而,为了帮助其他人解决这个问题,我遇到过这个问题多次,但这从未是解决方法。我的所有应用程序名称空间都没有任何问题,也没有空白。对我来说,解决方法始终是确保测试用户与我正在使用的应用程序匹配。 - rinogo

1

最近我也遇到了这个问题。目前Facebook不允许你使用任何Facebook ID登录,因为你的应用程序处于开发模式。以下是三种可能适用于我的解决方案:

  1. 仅使用你在Facebook for Developer中使用的ID进行Facebook登录测试。

  2. 在Facebook for Developer中 -> 登录您的帐户 -> 打开应用程序 -> 角色 -> 测试用户 -> 添加 -> 提交 -> 编辑新创建的随机测试帐户 ->“更改此测试用户的名称和密码” -> 提供一个名称和方便的密码进行测试。 ->提交。(使用给定的随机生成的电子邮件ID和密码来测试通过应用程序登录Facebook。)

3) 在Facebook for Developer中 -> 登录您的帐户 -> 打开应用程序 -> 角色 -> 角色 -> 测试人员 -> 添加测试人员 -> 提供要添加为测试人员的用户的Facebook ID -> 提交

要获取有效用户的Facebook ID。使用您想在开发过程中作为Facebook测试人员的ID登录Facebook。然后转到个人资料,在浏览器的URL中,您会看到id =(一些随机数字)。复制该ID并将其粘贴到开发人员帐户的添加测试人员部分中。它将处于待处理状态,直到有效用户接受邀请。

0

我在向苹果验证时也遇到了类似的问题,但我仍然不明白原因。不过有一个可能性是 Facebook 的秘密 ID 已经从 Parse 配置中被删除了。你需要检查一下这个点。


0

在你的Chrome或Safari中,Facebook正在使用另一个账户登录。 首先注销该账户,然后尝试使用你的应用程序登录。


0

我不知道这是否是原因,但对我来说,只有在使用发布密钥签署应用程序后才会发生这种情况,所以我将应用程序设置为“公共”的。可能测试用户无法使用公共应用程序。


0
我们遇到了这个问题,解决方案是使用从同一个FB应用程序创建的相同FB测试帐户。因此,如果该应用程序被拒绝,则应向Apple发送带有密码的FB测试帐户。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接