断点未命中,消息扩展也未在iOS中挂载

问题描述 投票:2回答:1

我正在编写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 AppexMessages App Extension won't hit breakpoints

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

ios swift message ios-app-extension
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.