Estoy usando MFMailcomposerViewController en mi aplicación. Todo funciona bien, excepto que necesito tener el no. de destinatarios y la lista de destinatarios a los que el usuario está enviando. Cualquier ayuda o solución con respecto a este problema.Obteniendo la lista Recepients en MFMailComposeViewController
Respuesta
último Obtuve la respuesta y quería compartirla ... Obtuve una gran ayuda de [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;
}
No hay una forma estándar de hacer esto, el método de delegado mailComposeController:didFinishWithResult:error:
le da una referencia al controlador de vista del compositor después de haber sido descartado, pero no hay accesos en MFMailComposeViewController
que se podría utilizar para obtener el recuento de receptor
Una solución sería examinar los subvistas del controlador de vista, encontrar el campo de texto que se utiliza para mantener los destinatarios y obtener el texto: ver here
pero obtengo ese 'aaa.aa @ aa.com y 3 más' como una cadena, en ese caso no puedo inspeccionar si la identificación del correo electrónico es correcta o no, estoy necesitado de la misma .... –
como él dice en ese blog, creo que solo puedes usar esto para obtener el número de destinatarios, si están más allá de ese límite de 25 caracteres, entonces no sé de qué manera saber qué eran todos. – wattson12
No hay manera de hacer esto a partir de iOS 6 como la composición de correo ahora se hace a través de una llamada de servicio XPC a un proceso remoto (MailCompositionService). Hay una gran explicación aquí: http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/. El nivel más bajo en la jerarquía de vista ahora es un _UIRemoteView que se interconecta con el proceso remoto. El código de la entrada del blog en http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.html ahora siempre devolverá nil.
- 1. Obteniendo la lista de soluciones en Prolog
- 2. MFMailComposeViewController en otros idiomas?
- 3. MFMailComposeViewController - IPAD
- 4. Obteniendo la posición ordenada ¿Lista ordenable JQuery?
- 5. Mostrar MFMailComposeViewController en el paisaje
- 6. MFMailComposeViewController en una clase separada
- 7. Obteniendo la lista de fechas en un rango en PostgreSQL
- 8. ¿Cómo establecer desde MFMailComposeViewController?
- 9. Enviar correo sin MFMailComposeViewController
- 10. MFMailComposeViewController Keyboard Issue
- 11. Obteniendo la lista de todos los Windows en Android
- 12. Obteniendo la lista de hilos actualmente activos administrados en .NET?
- 13. Cuándo [MFMailComposeViewController canSendMail] devolverá NO
- 14. Establecer el Primer Respondedor en MFMailComposeViewController?
- 15. Cómo cambiar los botones en MFMailComposeViewController?
- 16. iPhone - MFMailComposeViewController delegado incompatible tipo
- 17. Accidente de la aplicación MFMailComposeViewController en el ipad
- 18. ¿Cómo cambio la firma del usuario en MFMailComposeViewController?
- 19. Obteniendo una lista pura de 'pyparsing.ParseResults'
- 20. Obteniendo una lista de unidades lógicas
- 21. SQL Alchemy - Obteniendo una lista de tablas
- 22. Obteniendo la lista de campos de 'use fields' pragma?
- 23. Obteniendo una lista de tiendas magento
- 24. Obteniendo la subsección a la lista en la tabla de contenido en LaTeX
- 25. Obteniendo una lista de archivos en sass/compass
- 26. ¿Cómo enviar correo desde la aplicación iphone sin mostrar MFMailComposeViewController?
- 27. Cambiando el color de la barra de herramientas de MFMailComposeViewController
- 28. Cómo evitar que MFMailComposeViewController escale GIF animados
- 29. Símbolos no definidos para la arquitectura i386: "_OBJC_CLASS _ $ _ MFMailComposeViewController"
- 30. Obteniendo una lista de modelos relacionados en rieles
puede obtener el número de destinatarios, pero no hay id .. – hemant
@hemant ¿Puede darme una sugerencia sobre cómo obtener el no. de destinatarios, también solo necesito eso. ¡Gracias de antemano! –