Вы можете создать собственный протокол с двумя методами (скажем, pickPhone и pickMail), и класс, вызывающий этот, реализует эти подпрограммы и назначит себя в качестве делегата. Как только решение принято, вы проверяете, определен ли делегат, затем вызываете правильный метод и позволяете вызывающей стороне определить, что с ним делать.
Кроме того, вы должны провести некоторое тестирование по URL-адресу "sms". В последний раз я проверял, что оно запускает приложение SMS, но ничего не передает ему.
Но до того, как вы это сделаете, то, как вы сейчас это делаете, вызывая эти openURL для вызова внешних приложений для телефона или электронной почты, ваше приложение будет остановлено, и управление будет передано этим приложениям. Поэтому я не уверен, почему вас волнует, что произойдет после того, как пользователь отклонит модальное средство выбора, потому что ваше приложение больше не будет рядом.
Теперь под OS 3.0 у вас могут быть некоторые опции, но все же ... вы можете пересмотреть проблему.