代码之家  ›  专栏  ›  技术社区  ›  Piepants

如何在使用unintedcommunicationreportingextension时设置ILClassificationResponse的内容?

ios
  •  2
  • Piepants  · 技术社区  · 6 年前

    如果我还任何东西 ILClassificationActionNone UnwantedCommunicationReportingExtension:classificationResponseForRequest 然后当我点击Done按钮时什么也不会发生(不像 ILClassificationActionNone公司 返回,视图控制器将关闭)。

    我已经准备好了 ILClassificationExtensionSMSReportDestination 在info.plist中(文档中没有说明,但我假定键类型为if of type String,是短信息的目的地号码)。

    但是它看起来像 ILClassificationResponse 从返回 classificationResponseForRequest 必须包含一些值。但是我找不到任何文档来描述应该设置什么/如何设置userInfo。

    1 回复  |  直到 6 年前
        1
  •  3
  •   tink    6 年前

    在IOS文档中 SMS/Call Reporting 他们确实提到过用户信息

    .. 对于ILClassificationActionReportNotJunk或ILClassificationActionReportJunk,系统将基于您的响应操作和用户信息属性生成一条短信。

    但是,这不是一个直觉,它是必需的(有点!)字段。如果未定义userInfo数组,iOS将不会创建空消息,因此在视觉上不会发生任何事情。

    我附加了我的代码,它从用户那里获取一些附加信息,并在单击“完成”时启动一条新消息。我希望这就是你要找的。。

        @IBOutlet weak var txtSenderNumber: UITextField!
        @IBOutlet weak var textMessage: UITextView!
    // Provide a classification response for the classification request
        override func classificationResponse(for request:ILClassificationRequest) -> ILClassificationResponse {
    
            let userAction:ILClassificationAction =  ILClassificationAction.reportJunk;
            let userData:ILClassificationResponse = ILClassificationResponse.init(action: userAction)
            userData.userInfo = ["sender": self.txtSenderNumber.text, "message": self.textMessage.text]
    
            return userData
        }