我正在为我的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;工作