我正在尝试从我的应用程序打开Apple的邮件应用程序,我正在运行以下代码:
let mailURL = URL(string: "message://")!
if UIApplication.shared.canOpenURL(mailURL) {
UIApplication.shared.open(mailURL, options: [:], completionHandler: nil)
}
但是,UIApplication.shared.canOpenURL(mailURL)
行返回false。这段代码实际上在我的其他应用程序上工作得很好,但不是在这个上工作。你知道这个问题的原因是什么吗?
编辑:我试着在模拟器和真实设备中运行这个。
编辑:使用Xcode 12.5.1, Big Sur 11.6
使用mailto
作为URL的协议,而不是message
。
的例子:
mailto://me@example.com
出于安全原因,苹果不允许你打开任意方案的url,只允许你注册的url(所以当他们审查你的代码时,他们可以找出你在检查什么应用程序并拒绝你)。检查邮件很好,因为每个人都有)。
但是苹果不允许你检查我的应用程序是否安装在设备上。