2009-08-04 22 views
7

Sto utilizzando MFMailComposeViewController in 3.0 per inviare un'e-mail con allegato ecc. All'interno della mia app. Desidero che l'indirizzo "A:" sia impostato come predefinito sull'account/indirizzo predefinito sul dispositivo. Come posso accedere a questo indirizzo per inserirlo in una stringa per setToRecipients?indirizzo email predefinito accesso

In sostanza, ho intenzione di lasciare che l'utente invii un messaggio di posta elettronica (come predefinito "A") con un allegato all'interno dell'app.

risposta

5

L'API non espone tali informazioni pubblicamente (probabilmente per buoni motivi, come impedire agli sviluppatori di raccogliere gli indirizzi email degli utenti iPhone).

Probabilmente dovresti chiedere informazioni sull'indirizzo e-mail dell'utente e quindi salvarlo per uso futuro.

+6

Questo è strano considerando che è possibile ottenere gli indirizzi e-mail dei contatti nella rubrica – Surya

+0

@Neil è possibile ottenere l'indirizzo e-mail predefinito in iOS? –

5

Sembra che la risposta accettata è sbagliata

Getting user's default email address in Cocoa

Questa risposta mostra il codice per ottenere l'indirizzo e-mail dalla rubrica (elencati sotto 'me')

EDIT: Nota il commento! OSX non solo iOS: |

+4

Giusto per chiarire poiché questa domanda è codificata per iPhone: quel metodo sembra funzionare solo per OSX, non per iOS. http://stackoverflow.com/questions/3642968/how-do-you-access-the-current-users-record-in-ad-ress-book –

2

È possibile utilizzare ABGetMe per iOS per ottenere la scheda della rubrica dell'utente. Dai un'occhiata al codice sorgente, vedrai come recuperare tutti gli indirizzi e-mail per un determinato ABRecordRef.

+1

"ABGetMe non è legalmente compatibile con App Store perché utilizza API non documentate che è vietato dalla clausola 3.3.1 del Contratto di licenza del Programma per gli sviluppatori di iPhone, ma è tecnicamente conforme all'App Store in quanto supererà la convalida di App Store, inoltre non dovrebbe bloccarsi anche se le API non documentate cambiano in futuro. " – AmineG

+0

Ora è possibile disabilitare API private in ABGetMe e ricadrà su un metodo un po 'meno efficace che non utilizza alcuna API privata. – 0xced

Problemi correlati