¿Solución confeccionada para analizar direcciones URL en cocoa?

Tengo una UIWebView en una aplicación para iPhone y quiero interceptar mailto-URL estructuradas como mailto:email@address.com?subject=foo&body=bar para mostrar un MFMailComposeViewController dentro de la aplicación en lugar de entregar la URL a Mail.app.

Ahora sería genial si todas las properties de MFMailComposeViewController se configuraran automáticamente de acuerdo con la URL mailto. Desafortunadamente, MFMailComposeViewController no acepta una URL mailto, pero requiere configurar las properties individuales.

NSURL aparentemente tampoco es de gran ayuda. ¿Conoce algún código existente para que no tenga que escribir el código del analizador? 😉

Escribió mi propia solución: https://gist.github.com/667952 Es un poco feo y probablemente no es 100% infalible en términos de compatibilidad con RFC, pero siempre que la syntax de las URL de mailto esté bajo su propio control, funciona multa.

Ortwin, gracias por tu código. Lo bifurque para agregar un cheque al método canSendMail y agregarlo como categoría de MFMailComposeViewController. Por favor, descúbrelo aquí: https://gist.github.com/788075

Desea NSDataDetector .