用途:分析来自 Firebase/Google Analytics「Unrecognized Host Apps」探索中的未识别宿主 App bundle ID,判断哪些需要为应用添加返回用 URL scheme 映射。
主要能力:从 VivaDicta/VivaDictaApp.swift 中 returnURL(forHostId:) 的 knownURLs 字典及 attemptReturnToHost(hostId:) 的 knownNoSchemeHosts 集合读取现有映射;将各 bundle ID 归类为已映射、已映射应用的变体(团队 ID 后缀、区域版本、扩展)、不可操作(如 (not set)、com.apple.SafariViewService、com.apple.springboard 等系统服务)或需要添加。
研究方式:搜索「[app 名称] iOS URL scheme」「[app 名称] deep link」「[bundle id] URL scheme」及已知 scheme 数据库与 GitHub 仓库;优先查应用自身注册(开源 Info.plist 或构建文件中的 CFBundleURLSchemes)和 AASA 文件 https://<domain>/.well-known/apple-app-site-association。可复用 iTunes lookup API(https://itunes.apple.com/lookup?bundleId=...)解析 bundle ID 对应应用名与 seller URL,并留意同名误判。注意共享 scheme 的抢占问题,只映射应用独占的 scheme。AASA 不在标准路径(如 Hevy)或空 paths 数组(如 DeepSeek)时不可用。
输出与更新:输出包含 Bundle ID、事件数、分类、返回 URL 与置信度的汇总表;用户确认后,有返回路径的加入 knownURLs,无路径的加入 knownNoSchemeHosts,并更新文件顶部 Last run 行。
限制:不要重新引入 plist 步骤或 LSApplicationQueriesSchemes,LSApplicationQueriesSchemes 已于 2026-08-29 删除,因其存在 50 项上限会导致 canOpenURL 静默失败,而 UIApplication.open 无需声明。资料中未提供具体版本与平台要求。