【发布时间】:2021-07-02 11:17:51
【问题描述】:
我知道这是一个老问题,我在文档中读到我们无法自定义 MFMessageController/MFMailController 的 UI,如果他们发现我使用私有 APIS。所以现在我所做的只是为了探索私有api的
但我仍然遵循了一些文档,并尝试使用一些私有 API 来执行以下代码
@IBAction func sendSmsClick(_ sender: AnyObject) {
guard MFMessageComposeViewController.canSendText() else {
return
}
let messageController = MFMessageComposeViewController()
messageController body = "fhfhfkjhfdgggefgregfhrfhfrhggejhvghjkgevhjg"
messageController.recipients = ["64688098"]
messageController.messageComposeDelegate = self;
// Disabling the recepient editing - not working
// Here the _setCanEditRecipients: is a private API
let disableRecepients = "_setCanEditRecipients:"
print(disableRecepients)
let selOne = NSSelectorFromString(disableRecepients)
if messageController.responds(to: selOne) {
print("Yes")
messageController.perform(selOne, with: false)
}
self.present(messageController, animated: true) {
}
}
我从这里的 MFMessageComposeViewController 的 iVar 和方法列表中获得的私有 API。
但即使传递给私有 API 中的实例方法 _setCanEditRecipients 之一,我仍然可以编辑收件人列表。如何禁用 MFMessageComposer 控制器中的添加按钮和收件人编辑?任何想法将不胜感激
【问题讨论】:
标签: ios swift iphone xcode mfmessagecomposeview