iOS端Firebase动态链接仅App Store首次安装后可用的问题排查
iOS Firebase动态链接跳转异常问题
问题现象
首次安装后正常流程
- 在Notes应用内点击动态链接
- 打开应用预览页,勾选“Save my place...”后点击OPEN按钮
- 跳转至App Store页面
- 下载并启动应用后,可正常跳转到共享内容的指定视图
后续点击异常流程
- 在Notes应用内点击动态链接
- 打开应用预览页,勾选“Save my place...”后点击OPEN按钮
- 直接跳转至App Store页面,而非已安装的应用
特殊情况
直接将应用安装到设备(非通过App Store)时,动态链接可正常跳转至共享内容视图。期望应用已安装时,点击动态链接能直接跳转至应用。
已完成的排查操作
- 测试过标准
app.page.link链接及自定义域名链接,表现一致 - 自定义域名下的
apple-app-site-association配置返回正确:{"applinks":{"apps":[],"details":[{"appID":"TEAMID.my.bundle.id","paths":["NOT /_/*","/*"]}]}} - 已正确配置关联域名,测试自定义域名时在
Info.plist中添加了FirebaseDynamicLinksCustomDomains条目 - 使用
[FIRDynamicLinks performDiagnosticsWithCompletion:nil]自诊断工具检测,两种链接场景均未发现问题 - 链接添加
?d=1调试参数后无警告信息 - 生成动态链接的原始链接为
https://myapp.com/view/123456
可能的解决方向
检查App Store安装的应用签名匹配性
确认App Store上架版本的Team ID、Bundle ID与apple-app-site-association中的appID完全一致,避免打包时签名配置错误导致系统无法识别应用已安装。重置系统Universal Links缓存
iOS系统会缓存Universal Links配置,可通过以下方式重置:- 卸载应用后重启设备,重新从App Store安装
- 在Safari中打开自定义域名的链接,长按链接选择“在[你的应用名]中打开”,触发系统重新识别关联关系
验证Firebase动态链接跳转规则
登录Firebase控制台,检查动态链接的“高级选项”,确保已安装应用时优先打开应用而非跳转App Store。检查应用Universal Links处理逻辑
确认AppDelegate或SceneDelegate中正确实现回调方法,确保Firebase Dynamic Links能接收并处理链接:// AppDelegate示例 - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { BOOL handled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:userActivity.webpageURL completion:^(FIRDynamicLink * _Nullable dynamicLink, NSError * _Nullable error) { // 处理动态链接逻辑 }]; return handled; }测试TestFlight版本
若当前测试的是Ad Hoc版本,尝试上传TestFlight版本测试,确认是否是打包环境导致的签名或配置差异问题。
内容的提问来源于stack exchange,提问作者user2209486
相关产品推荐
相关产品推荐

