Facebook-sdk-for-unity: iOS:“在 Facebook 中打开此页面?” 弹出窗口阻止登录

创建于 2020-07-13  ·  6评论  ·  资料来源: facebook/facebook-sdk-for-unity

清单

环境

在此处描述您的开发环境,并提供尽可能多的详细信息。 如果有它们,请确保包括:

  • Unity 编辑器版本: 2019.3.0f3
  • Unity SDK 版本: 7.19.2
  • 安装平台和版本: iOS版本13.5.1

目标

使用 Facebook 登录游戏。

预期成绩

用户可以完成登录流程。

实际结果

在 iPhone X 上运行时,调用FB.LogInWithReadPermissions并在提示上点击“继续”后,出现以下屏幕:

IMG_1972

我无法关闭“在 Facebook 中打开此页面?” 弹出窗口,通过点击“取消”、“打开”或弹出窗口之外。 浏览器左上角的“取消”按钮工作正常。 卸载并重新安装 Facebook 应用程序修复了一次运行的问题,但在后续运行中,问题又出现了。

在装有 iOS 13.5.1 的 iPad Pro 或装有 iOS 12.4.7 的 iPad Air 上不会出现此问题。

另一个问题是,在游戏打开的网站(例如,Google Sign-in SDK)中,键盘未打开用于文本输入。 出于某种原因,这在卸载 Facebook 应用程序后在 iPhone 上得到修复(并在重新安装后损坏)! 但是,无论是否安装 Facebook 应用程序,都会在 iPad 上出现此问题。

重现步骤

编辑:成功复制:

  1. 创建一个新的 Unity 项目并添加 SDK 7.19.2
  2. 删除播放服务解析器
  3. 添加不带解析和播放服务解析器的Google Sign-In 1.0.4
  4. 添加外部依赖管理器1.2.156 并在出现提示时添加注册表
  5. 在相机和Start创建一个脚本,调用FB.Init ,然后调用FB.LoginWithReadPermissions
  6. 使用设备 SDK 为 iOS 构建
  7. 在 Podfile 中,将GoogleSignIn版本更改< 5.0.0
  8. 在装有 iOS 13.5.1 和 Facebook 应用程序的 iPhone X 上运行(无法访问任何其他 iPhone)

代码示例和详细信息

复制链接。

代码:

public class TestScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        FB.Init(() => {
            FB.LogInWithReadPermissions(
                new List<string>() { "public_profile", "email", "user_friends", "user_posts" }, 
                loginResult => {

                }
            );
        });
    }

    // Update is called once per frame
    void Update()
    {

    }
}

输出:

2020-07-13 10:45:05.042142-0400 FacebookSandbox[11263:4698992] Built from '2019.3/staging' branch, Version '2019.3.0f3 (6c9e2bfd6f81)', Build type 'Release', Scripting Backend 'il2cpp'
-> applicationDidFinishLaunching()
2020-07-13 10:45:05.608167-0400 FacebookSandbox[11263:4698992] FBSDKLog: starting with Graph API v2.4, GET requests for /1184331378431008/model_asset should contain an explicit "fields" parameter
-> applicationDidBecomeActive()
GfxDevice: creating device client; threaded=1
Initializing Metal device caps: Apple A11 GPU
Initialize engine version: 2019.3.0f3 (6c9e2bfd6f81)
2020-07-13 10:45:05.630826-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.631434-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.633674-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:05.633732-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:06.342714-0400 FacebookSandbox[11263:4698992] Unbalanced calls to begin/end appearance transitions for <SplashScreenController: 0x15dd05b40>.
2020-07-13 10:45:06.359559-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.361976-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.365490-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.365527-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.901348-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
2020-07-13 10:45:06.905260-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
UnloadTime: 0.302667 ms
Using Facebook Unity SDK v7.19.2 with FBiOSSDK/6.5.2
Facebook.Unity.CompiledFacebookLoader:Start()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

-> applicationWillResignActive()
-> applicationDidBecomeActive()

最有用的评论

我在许多运行 iOS 13 的 iPhone 设备中遇到了同样的错误。
我的代码与@michelleran类似,我无法在弹出对话框中单击“打开”和“取消”(您必须先在 safari 中注销 Facebook 才能重现此错误)。
我的游戏是 Cooking Marina,您可以在 Apple Store 上下载。
如果我使用 Xcode 10 编译项目,则登录过程成功,但无法使用 Xcode 10 将构建上传到 App Store。
当我在 iPad 中测试登录流程时,登录过程始终完成。 此错误仅发生在装有 iOS 13 的 iPhone 中。
希望我们能尽快找到解决方案。

所有6条评论

编辑步骤重现。

@michelleran ,感谢您报告此问题! 你能提供应用程序名称吗?

您指的是 Facebook 开发者仪表板中的名称吗? 如果是这样,那就是“蛋糕游戏”——虽然它没有出版。

我在许多运行 iOS 13 的 iPhone 设备中遇到了同样的错误。
我的代码与@michelleran类似,我无法在弹出对话框中单击“打开”和“取消”(您必须先在 safari 中注销 Facebook 才能重现此错误)。
我的游戏是 Cooking Marina,您可以在 Apple Store 上下载。
如果我使用 Xcode 10 编译项目,则登录过程成功,但无法使用 Xcode 10 将构建上传到 App Store。
当我在 iPad 中测试登录流程时,登录过程始终完成。 此错误仅发生在装有 iOS 13 的 iPhone 中。
希望我们能尽快找到解决方案。

@michelleran感谢您的回复。 我们正在努力解决这个问题。 同时,我为您的应用禁用了应用切换(这意味着您不会看到“在 Facebook 中打开此页面”对话框),以便您能够完成登录过程。

嗨,我有同样的问题。 这个流程有什么解决方案吗?

Unity 编辑器版本:2019.4.23f1
Unity SDK 版本:9.1.0
安装平台及版本:iOS 14.4.2版

此页面是否有帮助?
0 / 5 - 0 等级