动态链接:在安装后的第一次启动时,不调用openURL(但仅在iOS 8模拟器上调用它)

时间:2016-11-22 11:46:41

标签: ios ios9 ios10 openurl firebase-dynamic-links

我正在为我的iOS应用添加动态链接。 如果安装了应用程序,动态链接在iOS 8及更高版本上运行良好。 如果未安装app,则在iOS 8模拟器上,安装后和首次启动时,

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
    if (dynamicLink) {
        [self handleIncomingDynamicLink:dynamicLink];
        return YES;
    }

    return NO;
}

此方法被调用,一切正常,就像它已经安装的情况一样。

但问题在于iOS 9和10模拟器和设备/以及iOS 8设备。 根据iOS 9和10的指南,

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<NSString *, id> *)options {

}

如果应用程序尚未首次安装和打开,则应调用此方法,但安装后不会调用此方法。而在iOS 8设备上调用的openURL方法也没有在iOS 8设备上调用。

调用

[FIRApp configure]。 我测试了更改CustomURLScheme设置。 在iOS 8上,它可以在不设置[FIROptions defaultOptions].deepLinkURLScheme的情况下工作。但是使用iOS 8的情况,我配置了CustomURLScheme,并使用该方案添加了[FIROptions defaultOptions].deepLinkURLScheme设置,但也使用该行,仍然只有iOS 8模拟器工作。

即使它在安装后第一次启动时不起作用,但在安装后单击链接时,它运行良好。

[更新:我测试了更多iOS版本以及是否在模拟器或设备上]

未安装iOS8.3设备 - &GT;不工作

未安装iOS8.4模拟器 - &GT;工作

未安装iOS8.3模拟器 - &GT;工作

iOS9.1模拟器 未安装 - &GT;工作

iOS9.2模拟器 未安装 - &GT;不工作

安装 - &GT;不工作

未安装iOS9.3.2设备 - &GT;不工作

安装 - &GT;工作

iPhone 5s iOS 9.3模拟器 未安装 - &GT;工作

安装 - &GT;不工作

未安装iOS10.1模拟器 - &GT;工作

安装 - &GT;工作

0 个答案:

没有答案