Sto utilizzando MFMailcomposerViewController nella mia app. Tutto funziona bene, tranne che ho bisogno di avere il no. dei destinatari e l'elenco dei destinatari che l'utente sta inviando. Qualsiasi aiuto o soluzione su questo problema ..Come ottenere l'elenco dei ricevitori in MFMailComposeViewController
risposta
Infine Ho ricevuto la risposta e volevo condividerla ... Ho ricevuto un grande aiuto da [blog]: http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.html
for (int x=0; x<[emailArray count]-1; x++) {
NSLog(@"%d). %@",x+1,[emailArray objectAtIndex:x]);
NSString *element = [emailArray objectAtIndex:x];
NSArray *arr = [element componentsSeparatedByString:@" & "];
if ([arr count]==1) {
++emailCount;
}
else{
int more = [[[arr objectAtIndex:1] substringToIndex:1] intValue];
emailCount+=(more+1);
}
}
- (NSString *)findEmailAddresses:(UIView *)view depth:(NSInteger)count
{
NSString *eAddress = nil;
if (!view)
return eAddress;
NSMutableString *tabString = [NSMutableString stringWithCapacity:count];
for (int i = 0; i < count; i++)
[tabString appendString:@"-- "];
NSLog(@"%@%@", tabString, view);
if ([view isKindOfClass:[UITextField class]])
{
// MAGIC: debugger shows email address(es) in first textField
// but only if it's about max 35 characters
if (((UITextField *)view).text)
{
eAddress = [NSString stringWithString:((UITextField *)view).text];
NSLog(@"FOUND UITextField: %@", eAddress ? eAddress : @"");
[emailArray addObject:eAddress];
}
}
NSArray *subviews = [view subviews];
if (subviews) {
for (UIView *view in subviews)
{
NSString *s = [self findEmailAddresses:view depth:count+1];
if (s) eAddress = s;
}
}
return eAddress;
}
Non c'è un modo standard per farlo, il metodo delegato mailComposeController:didFinishWithResult:error:
fornisce un riferimento al controller di visualizzazione composito dopo che è stato chiuso, ma non ci sono accessors su MFMailComposeViewController
che si potrebbe usare per ottenere il conteggio destinatario
Una soluzione potrebbe essere quella di esaminare le subviews del controller della vista, trovare il campo di testo che è stato utilizzato per contenere i destinatari e ottenere il testo: vedi here
ma sto ricevendo quel 'aaa.aa @ aa.com e altri 3' come una stringa, in quel caso non riesco a capire se l'id della e-mail sia corretta o meno, mi serve per lo stesso ... –
come dice in quel blog, penso che tu possa usare questo solo per ottenere il numero di destinatari, se sono oltre questo limite di 25 caratteri, quindi non so di un modo per dire cosa erano tutti – wattson12
Non v'è alcun modo per fare questo, come di iOS 6 come composizione mail è ormai fatto attraverso una chiamata di servizio XPC a un processo remoto (MailCompositionService). C'è una grande spiegazione qui: http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/. Il livello più basso nella gerarchia della vista ora è un _UIRemoteView che si interfaccia con il processo remoto. Il codice dal post del blog allo http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.html ora tornerà sempre nullo.
- 1. Come impostare in MFMailComposeViewController?
- 2. Come impostareToRecipients con MFMailComposeViewController
- 3. Ottieni filtro intent per ricevitori
- 4. Come cambiare i pulsanti in MFMailComposeViewController?
- 5. MFMailComposeViewController App crash in ipad
- 6. MFMailComposeViewController in una classe separata
- 7. Visualizzazione di MFMailComposeViewController in orizzontale
- 8. Imposta il primo risponditore in MFMailComposeViewController?
- 9. Cambia titolo di MFMailComposeViewController
- 10. MFMailComposeViewController Keyboard Issue
- 11. MFMailComposeViewController a Swift
- 12. MFMailComposeViewController respinge immediatamente
- 13. Invia posta senza MFMailComposeViewController
- 14. iPhone - MFMailComposeViewController delegato tipo incompatibile
- 15. Perché MFMailComposeViewController si arresta in modo anomalo?
- 16. Problema quando si utilizza MFMailComposeViewController
- 17. Quando [MFMailComposeViewController canSendMail] restituisce NO
- 18. queryBroadcastReceivers non trova ricevitori registrati con registerReceiver
- 19. Come cambiare il colore di MFMailComposeViewController testi e immagini dei pulsanti?
- 20. MFMailComposeViewController a Swift non respingere
- 21. Come ottenere valore dei parametri in stacktrace
- 22. Come ottenere l'elenco dei director in NSDocumentDirectory?
- 23. Sovrascrivi la proprietà UIAprevista per MFMailComposeViewController
- 24. come ottenere l'elenco dei processi
- 25. sono più ricevitori di trasmissione legali legali in Android?
- 26. Differenza tra i ricevitori di servizi e broadcast in Android
- 27. C'è un modo per aggiungere più ricevitori in Python SMTPlib?
- 28. Cambia il colore del titolo principale della navigazione in MFMailComposeViewController
- 29. Modifica colore barra degli strumenti MFMailComposeViewController
- 30. UIAseguenza Rimuovi sfondo NavBar personalizzato per MFMailComposeViewController
è possibile ottenere il numero di destinatari ma non li id .. – hemant
@hemant Può darmi suggerimenti su come ottenere il no. dei destinatari, anch'io ho solo bisogno di questo. Grazie in anticipo !! –