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 设置:
- "Always try to open app"勾选
- "IOS URI Scheme" 设置为应用程序的自定义 URI 方案。
- "Enable Universal Links" 已勾选。
- 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;
}
我测试的内容:
我将 Test Deep Link 发送到我的电子邮件中,并通过 Safari 打开电子邮件。当我在 DEVICE 上单击 url 时,会显示一条警告,告诉我 App Store 将打开。当我在 SIMULATOR 上单击 url 时,我的应用程序已成功打开。
我将 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 右上角的面包屑已经消失,因此可以禁用通用链接。
有人能帮帮我吗? iOS Branch deep link 无法在设备上打开应用程序,但在模拟器上运行良好。我的模拟器OS版本是10.3,我的iPhone5sOS版本是10.3.3
我做了什么:
仪表板:设置 -> Link 设置:
- "Always try to open app"勾选
- "IOS URI Scheme" 设置为应用程序的自定义 URI 方案。
- "Enable Universal Links" 已勾选。
- 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;
}
我测试的内容:
我将 Test Deep Link 发送到我的电子邮件中,并通过 Safari 打开电子邮件。当我在 DEVICE 上单击 url 时,会显示一条警告,告诉我 App Store 将打开。当我在 SIMULATOR 上单击 url 时,我的应用程序已成功打开。
我将 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 右上角的面包屑已经消失,因此可以禁用通用链接。