iOS分支深层链接不能打开设备上的应用程序,但在模拟器上运行良好

有人能帮我吗? iOS分支深层链接不能打开设备上的应用程序,但在模拟器上运行良好。 我的模拟器操作系统版本是10.3,我的iPhone 5s操作系统版本是10.3.3

我做了什么:

仪表板:设置 – >链接设置:

  1. 选中“始终尝试打开应用程序”
  2. “IOS URI Scheme”被设置为应用程序的自定义URIscheme。
  3. 选中“启用通用链接”。
  4. 捆绑标识符和Apple App Prefix都设置正确。

链接域被设置为如下:

在这里输入图像说明

testing链接创build如下:

在这里输入图像说明

Xcodeconfiguration:

1.相关域名

在这里输入图像说明

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; } 

我testing的是:

  1. 我将testing深层链接发送到我的电子邮件,并通过Safari打开电子邮件。 当我点击设备上的url,显示一条警告告诉我应用程序商店将被打开。 当我点击SIMULATOR上的url时,我的应用程序已成功打开。

  2. 我将testing深层链接粘贴到设备上的Notes中,当我单击URL时,显示了一个操作表,并提供两个选项:在Safari中打开,在xxx中打开(我的应用程序名称)。 我点击这两个选项,他们都可以成功地打开我的应用程序。

这里是所有的configuration,代码,步骤,我也尝试将branch_app_domain更改为applinks:xxxapp.app.link,它也没有工作。

整合过程中有什么我错过的? 任何build议将非常感激。 提前致谢!

罗比

来自Branch.io的 Amruta在这里:

我testing了您的应用程序在App Store上可用和通用链接按预期工作。 我通过Slack(iOS上的默认电子邮件应用以及Gmail应用)分享了链接。 在所有三个平台上点击您的应用程序的分支链接按预期通过通用链接打开您的应用程序。

根据您对testing的描述,看起来您正在禁用通用链接(单击右上angular链接上的痕迹导致禁用通用链接。

Diabling通用链接

要为应用程序重新启用通用链接,请执行以下操作:1.将其中一个分支链接粘贴到一个新的注释中2.长按链接(注意:如果您看到“预览”窗口popup窗口打开, )

重新启用通用链接

请注意,这是一个“按设备”的问题,所以如果您在一部手机上意外禁用了通用链接,则不会影响其他用户。

不幸的是,没有办法确保用户不会错误地禁用通用链接。 然而,这是一线希望,这将不再是iOS 11后的问题。在iOS 11中,右上angular的面包屑已经消失,因此能够禁用Universal Links。