Xamarin IOS launching external Apps
<p>Im trying to launch 3 map applications using an alert menu (Apple Maps, Waze, Google Maps). There is no problem clicking the option "Apple Maps", it diplays the address that i have but the other options doesnt launch the apps, just the app store. The code should display the app if its installed in the device (already installed waze, google maps, apple maps)</p>

<p>Controller Code</p>

<pre><code>direccion.TouchUpInside += delegate {
            UIAlertView alert = new UIAlertView () {
                Title = NSBundle.MainBundle.LocalizedString ("Seleccione la aplicación que desea utilizar", "")
            };
            alert.AddButton (NSBundle.MainBundle.LocalizedString ("Apple Maps", ""));
            alert.AddButton (NSBundle.MainBundle.LocalizedString ("Waze", ""));
            alert.AddButton (NSBundle.MainBundle.LocalizedString ("Google Maps", ""));
            alert.AddButton (NSBundle.MainBundle.LocalizedString ("Cancelar", ""));

            alert.Clicked += delegate (object a, UIButtonEventArgs b) {

                if (b.ButtonIndex == 0) {
                    string url = "http://maps.apple.com/?q=" + direccion.TitleLabel.Text;
                    url = url.Replace (" ", "%20");
                    url = Utils.LatinToAscii (url);
                    if (UIApplication.SharedApplication.CanOpenUrl (new NSUrl (url))) {
                        UIApplication.SharedApplication.OpenUrl (new NSUrl (url));
                        Console.WriteLine (url);
                    } else {
                        new UIAlertView (
                            NSBundle.MainBundle.LocalizedString ("aviso", ""),
                            NSBundle.MainBundle.LocalizedString ("error_al_abrir_mapas", ""), null,
                            NSBundle.MainBundle.LocalizedString ("aceptar", ""), null).Show ();
                    }
                }

                if (b.ButtonIndex == 1) {
                    string url = "waze://?q=" + direccion.TitleLabel.Text;
                    url = url.Replace (" ", "%20");
                    url = Utils.LatinToAscii (url);
                    if (UIApplication.SharedApplication.CanOpenUrl (new NSUrl (url))) {
                        UIApplication.SharedApplication.OpenUrl (new NSUrl (url));
                        Console.WriteLine (url);
                    } else {
                        UIApplication.SharedApplication.OpenUrl (NSUrl.FromString ("http://itunes.apple.com/us/app/id323229106"));
                    }
                }

                if (b.ButtonIndex == 2) {
                    string url = "comgooglemaps://?saddr=" + direccion.TitleLabel.Text;
                    url = url.Replace (" ", "");
                    url = Utils.LatinToAscii (url);
                    if (UIApplication.SharedApplication.CanOpenUrl (new NSUrl (url))) {
                        UIApplication.SharedApplication.OpenUrl (new NSUrl (url));
                        Console.WriteLine (url);
                    } else {
                        UIApplication.SharedApplication.OpenUrl (NSUrl.FromString ("http://itunes.apple.com/us/app/id585027354"));
                    }
                }
            };
            alert.Show ();
        };
</code></pre>