2

我正在向我的 iOS 应用程序添加动态链接。如果安装了应用程序,则动态链接在 iOS 8 及更高版本上运行良好。如果未安装应用程序,则在 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添加了该设置,但也使用该行,仍然只有 iOS 8 模拟器工作。[FIROptions defaultOptions].deepLinkURLScheme

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

[更新:我测试了更多变化的 iOS 版本,无论是在模拟器还是设备上]

未安装 iOS8.3 设备 -> 不工作

未安装 iOS8.4 模拟器 -> 工作

未安装 iOS8.3 模拟器 -> 工作

iOS9.1 模拟器未安装 -> 工作

未安装 iOS9.2 模拟器 -> 不工作

已安装-> 不工作

iOS9.3.2 设备未安装 -> 不工作

安装 -> 工作

未安装 iPhone 5s iOS 9.3 模拟器 -> 工作

已安装-> 不工作

iOS10.1模拟器未安装->工作

安装 -> 工作

4

0 回答 0