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

如何在Share Extension中实现控制台打印输出?

iOS Share Extension 打印无输出问题解决办法

Share Extension是独立于主App的进程,即便已附加到进程,控制台无输出通常是进程选择或日志过滤的问题,以下是具体解决步骤:

  • 确认控制台选中正确进程
    运行主App后,触发Share Extension(比如在模拟器中选择分享到你的应用),在Xcode顶部的调试进程下拉菜单中,找到你的Share Extension进程(名称一般是「主App名+ShareExtension」),选中该进程而非主App进程。

  • 检查日志过滤规则
    Xcode控制台的漏斗图标(过滤按钮)不要设置过严的条件,比如不要仅显示「Error」或「Warning」级别;对于Logger日志,可以直接搜索你的subsystem(com.example.app)或category(main)来精准定位。

  • 调整日志级别(针对Logger)
    默认log.log()属于info级别,若Xcode默认过滤了info日志,可显式指定级别:

    log.info("viewDidAppear")
    log.debug("didSelectPost") // 调试场景用debug级别
    

    也可以给Share Extension的Run Scheme添加启动参数-oslog debug,强制显示低级别日志。

  • 重置调试环境
    完全关闭模拟器(不是后台挂起),重启Xcode后重新运行主App,再触发Share Extension并附加进程,清除可能的缓存问题。

你的代码本身没有问题,重点是确保调试时控制台关联的是Share Extension进程,而非主App进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:25:17