2017-07-31 197 views
1

我们希望能够让用户在我们的应用程序中选择任何已安装的电子邮件客户端(Gmail,Yandex等)。但iOS只提供Mail或内置MFMailComposeViewController。有什么办法向用户展示电子邮件客户列表吗?让用户在iOS上选择电子邮件客户端

+0

可能的重复[如何启动一个电子邮件客户端使用Swfit的ios上](https://stackoverflow.com/questions/26052815/how-can-i-launch-an-email-client-on-ios-使用swfit) – Maxime

+1

iMail? iMail View Controller? –

+0

我的意思是邮件或MFMailComposeViewController – demensdeum

回答

1

有没有办法直接做到这一点,因为iOS不知道“默认应用程序”的概念。你可以实现一个函数来检查不同iOS电子邮件客户端使用的各种URL,并确定安装了哪些客户端。例如,GMail使用googlegmail://。您也可以使用设备上的客户端显示菜单。

如果你不想创建你自己的实现,ThirdPartyMailer是一个库,可以为你做到这一点。

1

如果您正在寻找类似于Android处理它的方式,那么不可能。有些电子邮件应用可能支持自定义方案 - 例如Gmail使用googlegmail://(取自this question)。

-1

你应该尝试这样的事:

let url = NSURL(string: "mailto:[email protected]") 
UIApplication.sharedApplication().openURL(url) 
+0

谢谢,但这会打开iMail。 – demensdeum

+0

所以你必须创建你自己的Picker与可用邮件客户端列表。要建立这个列表,你可以检查每个方案,如果'canOpenUrl:'它会告诉你,如果用户已经安装了应用程序 – Maxime

+0

我想知道是否有办法呈现所有应用程序,可以处理“mailto”链接。 – demensdeum

相关问题