断点未命中,消息扩展也未在 iOS 中附加
Posted
技术标签:
【中文标题】断点未命中,消息扩展也未在 iOS 中附加【英文标题】:Breakpoint not getting hit, nor the Message extension is getting attached in iOS 【发布时间】:2019-02-18 14:53:12 【问题描述】:我正在为 ios 编写一个短信过滤器扩展。我创建了一个MessageFilterExtension
。扩展代码是
import IdentityLookup
final class MessageFilterExtension: ILMessageFilterExtension
var words: [String] = ["deal", "spam", "offer"]
override init()
print("message filter init")
extension MessageFilterExtension: ILMessageFilterQueryHandling
func handle(_ queryRequest: ILMessageFilterQueryRequest, context: ILMessageFilterExtensionContext, completion: @escaping (ILMessageFilterQueryResponse) -> Void)
//...
我在容器应用程序确实启动时设置了断点,在 appex handle
和其他方法中。 appex 不调用远程服务。然后我选择 appex 目标,单击运行,在附加列表中选择容器应用程序作为已经提到的可能目标。然后显示“等待附加”。然后我选择容器应用程序并点击运行,它构建并运行,然后点击断点。但是,appex 没有附加或启动。然后我发送一些 SMS 文本,但它没有过滤。 Xcode 或 Console.app 中没有打印语句。我已启用消息过滤器并将容器应用程序设置为过滤短信。
我正在 iPhone 7 Plus 和 iOS 12.1.4 上对此进行测试。在以前的 iOS 版本上测试过,但仍然无法正常工作。
到目前为止我尝试过的方法:
How To Debug iOS AppexMessages App Extension won't hit breakpoints
我没有保存联系人姓名。 (通过某种组合,它曾经工作过,但我现在无法调试)。如何调试消息过滤扩展?
【问题讨论】:
【参考方案1】:我们可以通过从 Xcode 模式菜单中单独运行扩展来调试扩展。在这种情况下,断点将被命中。使用主应用程序运行时,不会命中扩展断点。一般来说,应用程序扩展编程似乎是这样工作的。
【讨论】:
以上是关于断点未命中,消息扩展也未在 iOS 中附加的主要内容,如果未能解决你的问题,请参考以下文章