我发现几个地方展示了如何子类化 UIApplication.openURL,当用户点击 UITextView 中的超链接时调用它。但是,我发现当他们点击 mailto 链接时不会调用它,我只需要覆盖 mailto 链接。我的应用程序包含一个电子邮件客户端,并且由于 Apple 不允许我将我的应用程序设置为“默认”电子邮件客户端,我至少希望我自己的程序中的 mailto 链接可以使用我的应用程序发送电子邮件。
我首先尝试使用 UIWebView 代替,它确实允许我这样做,但是有一些显示问题(我只是显示纯文本,它看起来/工作不如 UITextView 好)。
我也尝试过覆盖 UIApplication.canShowURL 但它从未被调用,甚至对于 http: 链接也没有。我尝试过子类化和“Swizzling”,两者都给出相同的结果。