我正在编写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
我没有保存联系人姓名。 (通过某种组合,它只能工作一次,但是现在我无法调试)。如何调试消息过滤器扩展?
答案 0 :(得分:0)
我们可以通过从Xcode模式菜单单独运行扩展来调试扩展。在这种情况下,将命中断点。当与主应用程序一起运行时,扩展断点将不会被击中。通常,应用程序扩展编程似乎可以这样工作。