iOS Branch deep link 无法在设备上打开应用程序,但在模拟器上运行良好

iOS Branch deep link does not open application on device, but works well on simulator

有人能帮帮我吗? iOS Branch deep link 无法在设备上打开应用程序,但在模拟器上运行良好。我的模拟器OS版本是10.3,我的iPhone5sOS版本是10.3.3

我做了什么:

仪表板:设置 -> Link 设置:

  1. "Always try to open app"勾选
  2. "IOS URI Scheme" 设置为应用程序的自定义 URI 方案。
  3. "Enable Universal Links" 已勾选。
  4. Bundle Identifier 和 Apple App Prefix 都设置正确。

Link 域名设置如下:

测试 Link 创建如下:

Xcode配置:

1.Associated 域

2.Info.plist 文件

并且,代码如下:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
[[Branch getInstance] handleDeepLink:url];

BOOL success = NO;
success = [[FBSDKApplicationDelegate sharedInstance] application:application
                                                              openURL:url
                                                    sourceApplication:sourceApplication
                                                           annotation:annotation];
if (!success) {
    success = [router handleURL:url withCompletion:nil];
}

//force return YES
return YES;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {
BOOL ret = NO;

ret = [[Branch getInstance] continueUserActivity:userActivity];
if (!ret) {
    ret = [router handleUserActivity:userActivity withCompletion:NULL];
}

//force return YES
return YES;
}

我测试的内容:

  1. 我将 Test Deep Link 发送到我的电子邮件中,并通过 Safari 打开电子邮件。当我在 DEVICE 上单击 url 时,会显示一条警告,告诉我 App Store 将打开。当我在 SIMULATOR 上单击 url 时,我的应用程序已成功打开。

  2. 我将 Test Deep Link 粘贴到设备上的注释中,同时单击 url,显示了一个操作 sheet 并提供了两个选项:打开在 Safari 中,在 xxx(我的应用程序名称)中打开。我点击了两个选项,它们都可以成功打开我的应用程序。

这里是所有配置、代码、步骤,我也试过把branch_app_domain改成applinks:xxxapp。app.link,也没用。

我在整合过程中有什么遗漏吗?任何建议将不胜感激。提前致谢!

罗比

Amruta 来自 Branch.io 此处:

我在 App Store 上使用您的应用程序进行了测试,Universal links 按预期工作。我通过 Slack 分享了 link,iOS 上的默认电子邮件应用程序以及 Gmail 应用程序。在所有三个平台上,单击您的应用程序的分支 link,按预期通过通用 links 打开您的应用程序。

根据您对测试的描述,您似乎正在禁用 Universal links(单击右上角的面包屑 link 会禁用 Universal links。

为应用重新启用通用链接: 1. 将您的分支 link 之一粘贴到新笔记中 2. 长按 link(注意:如果你看到 "preview" window 弹开,说明你按得太用力了)

请注意,这是一个 'per-device' 问题,因此如果您不小心禁用了一个 phone 上的通用链接,不会影响其他用户。

遗憾的是,无法确保用户不会错误地禁用通用 links。然而,有一线希望,这将不再是一个问题 post iOS 11. iOS 11 右上角的面包屑已经消失,因此可以禁用通用链接。