断点未命中,消息扩展也未在iOS中连接

时间:2019-02-18 14:53:13

标签: ios swift message ios-app-extension

我正在编写iOS的SMS过滤器扩展。我创建了一个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) {
    //...
}

我已经在容器应用程序确实启动,应用程序handle和其他方法中设置了断点。 appex不调用远程服务。然后,我选择appex目标,单击“运行”,在附件列表中选择容器应用作为可能的目标(已提到)。然后显示“等待附加”。然后,我选择容器应用程序并运行,它构建并运行,并达到断点。但是,appex没有被附加或启动。然后,我发送了一些SMS文本,但是没有过滤。 Xcode或Console.app中没有打印语句。我已启用消息过滤器,并将“容器”应用设置为过滤SMS。

我正在iPhone 7 Plus和iOS 12.1.4上对此进行测试。在先前版本的iOS上进行了测试,但仍然无法正常工作。

到目前为止我尝试过的方法:

How To Debug iOS Appex
Messages App Extension won't hit breakpoints

我没有保存联系人姓名。 (通过某种组合,它只能工作一次,但是现在我无法调试)。如何调试消息过滤器扩展?

1 个答案:

答案 0 :(得分:0)

我们可以通过从Xcode模式菜单单独运行扩展来调试扩展。在这种情况下,将命中断点。当与主应用程序一起运行时,扩展断点将不会被击中。通常,应用程序扩展编程似乎可以这样工作。