2017-07-31 93 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

相關問題