调试Widget Extension遇Replace "com.apple.springboard"无打印输出,求解决方法
调试Widget Extension的正确方法
方法一:主App关联调试(推荐)
- 选择主App的运行schema,启动主App至模拟器或真机
- 打开Xcode的
Debug菜单,选择Attach to Process by PID or Name... - 在弹窗中直接输入Widget Extension的Target名称(进程名通常与Target名一致),点击
Attach - 操作Widget(如添加到桌面、触发刷新),Xcode控制台即可捕获打印输出
方法二:解决Schema运行的Springboard提示问题
如果偏好使用Widget自身的schema运行:
- 当弹出「Replace "com.apple.springboard"」提示时,不要点击替换,选择
Cancel - 返回Xcode,点击运行按钮旁的设备选择下拉菜单,选中你的模拟器或真机,重新运行Widget的schema
- 此时Xcode会弹出进程选择窗口,找到Widget Extension对应的进程并选中确认,即可正常获取打印输出
额外注意点
- 确保Widget Extension的
Build Settings中,Debug Information Format在Debug模式下设置为DWARF with dSYM File - 打印优先使用
print()或os_log,避免使用NSLog(部分场景下无法被控制台捕获) - iOS 14及以上版本的Widget,可通过Xcode的
Debug菜单 ->Simulate Widget Refresh触发刷新,无需手动操作
内容的提问来源于stack exchange,提问作者Cheok Yan Cheng
相关产品推荐
相关产品推荐

