Flutter的Apple消息过滤器扩展不起作用



我正在尝试在我的flutter区块中使用iOS本机扩展。它是消息过滤器的扩展。我用这个路由在XCode上实现了这个扩展>新建>目标>此扩展。我读过这份文件。根据我阅读的与此问题相关的文档和答案,没有额外的配置。以下是我的扩展代码片段:

func handle(_ queryRequest: ILMessageFilterQueryRequest, context: ILMessageFilterExtensionContext, completion: @escaping (ILMessageFilterQueryResponse) -> Void) {
// First, check whether to filter using offline data (if possible).
print(">>>>> HANDLED SMS")
let offlineAction = self.offlineAction(for: queryRequest)
switch offlineAction {
case .allow, .junk, .promotion, .transaction:
// Based on offline data, we know this message should either be Allowed, Filtered as Junk, Promotional or Transactional. Send response immediately.
let response = ILMessageFilterQueryResponse()
response.action = offlineAction
completion(response)
case .none:
// Based on offline data, we do not know whether this message should be Allowed or Filtered. Defer to network.
// Note: Deferring requests to network requires the extension target's Info.plist to contain a key with a URL to use. See documentation for details.
context.deferQueryRequestToNetwork() { (networkResponse, error) in
let response = ILMessageFilterQueryResponse()
response.action = .none
if let networkResponse = networkResponse {
// If we received a network response, parse it to determine an action to return in our response.
response.action = self.action(for: networkResponse)
} else {
NSLog("Error deferring query request to network: (String(describing: error))")
}
completion(response)
}
@unknown default:
break
}
}
private func offlineAction(for queryRequest: ILMessageFilterQueryRequest) -> ILMessageFilterAction {
// Replace with logic to perform offline check whether to filter first (if possible).
print("IOS MESSAGE EXTENSIONNNN!!!")
return .none
}
private func action(for networkResponse: ILNetworkResponse) -> ILMessageFilterAction {
// Replace with logic to parse the HTTP response and data payload of `networkResponse` to return an action.
return .none
}

我还通过消息激活了我的应用程序>未知&垃圾邮件当我的手机收到短信时,我本以为会有一条日志消息,但没有日志消息。我缺少什么?我需要额外的颤振配置吗?

好吧,我实际上不是来自flutter背景,而是来自我在本机iOS中的经验,在通过消息激活您的应用程序之后>未知&垃圾邮件,您需要在iPhone的消息应用程序中从Xcode运行您的消息过滤器扩展。

有关更多详细解释,请参阅我的回答详细说明

最新更新