You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

scene(openURLContexts)或scene(willConnectTo)何时会有多个urlContexts?

多 UIOpenURLContext 常见出现场景
  • 批量文件共享场景
    当用户在文件App、相册等系统应用中同时选中多个文件,通过共享表单批量发送到你的App时,系统会为每一个文件生成独立的UIOpenURLContext,所有实例会打包成Set一次性传入对应的Scene回调中。每个实例的url属性对应不同的本地文件临时地址,annotation也会携带对应文件的独立元数据。
  • 批量快捷指令/自动化触发场景
    如果用户通过快捷指令App编写了同时触发多个你的App的URL Scheme操作的规则,或者第三方自动化脚本批量发起唤醒你的App的URL请求,系统判定这些请求属于同批次可并行处理的场景时,会将所有请求对应的UIOpenURLContext合并传入回调。
  • 冷启动积压请求场景
    如果App处于完全退出的状态下,系统队列中积压了多个未处理的唤醒你的App的URL请求,此时用户触发App冷启动,scene(_:willConnectTo:options:)回调的UIScene.ConnectionOptions参数中,urlContexts会包含所有积压的上下文实例。

注:绝大多数普通场景下系统仅会传入单个UIOpenURLContext,这也是多数实现直接取urlContexts.first的原因。如果你的App支持批量文件导入、批量快捷指令操作能力,必须遍历整个Set处理所有上下文,否则会出现请求丢失的问题。

内容的提问来源于stack exchange,提问作者Gannon Prudhomme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:18:02