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

iOS中UIActivityViewController返回后无法点击选项的问题咨询

iOS UIActivityViewController 分享后无法再次点击选项问题原因分析

问题场景

在iOS中通过主线程展示分享选项,分享内容为PDF数据的URL。点击跳转第三方应用(如谷歌Chrome)后返回原应用,无法再点击UIActivityViewController的其他选项,控制台出现如下警告:

[ShareSheet] Trying to perform <UISocialActivity: 0x282b64a50> activityType:com.apple.mobilenotes.SharingExtension activityTitle:UISocialActivity but there is already an activity performing:<SHSheetActivityPerformer: 0x283f427d0>

当前实现代码:

let ac = UIActivityViewController(activityItems: [url], applicationActivities: nil)
DispatchQueue.main.async {
   self.present(ac, animated: true)
}

问题原因

  • 分享Sheet内部状态未正确重置:当跳转第三方应用后,系统分享组件的SHSheetActivityPerformer实例仍被标记为"正在执行"状态。返回原应用时,该状态未被自动清理,导致后续触发新分享动作时,系统检测到已有活跃的执行器,直接阻止操作并抛出警告。
  • 生命周期回调异常:第三方应用跳转过程中,原应用的UIActivityViewController未收到完整的生命周期回调(如activityDidFinish:),无法及时更新内部状态,造成状态不一致。
  • PDF URL状态潜在影响:若用于分享的PDF URL是临时生成的本地URL,跳转第三方后URL的可用性或关联状态发生变化,也可能间接干扰分享Sheet的状态管理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:50:28