2014-04-01 12 views
8

Muszę mieć możliwość uruchomienia mojej aplikacji na iOS z przeglądarki Safari. Więc poszedłem do mojego pliku .plist w xcode i dodałem element do moich Schematów URL i wpisałem w ciągu znaków myappname.Wysyłaj komunikat o wyświetleniu alertu "Otwórz tę stronę w YourAppName?" podczas próby uruchomienia aplikacji z safari

Teraz jeśli pójdę do Safari, a następnie wpisz myappname:// w pasku adresu URL i przesłać go, to pokazuje mi UIAlertView że mówi Open this page in "MyAppName"? z opcjami Cancel i Open.

Po dotknięciu Open pomyślnie otworzy się moja aplikacja, jednak chcę to zrobić bez pojawienia się UIAlertView z tą wiadomością.

Zrobiłem kilka szybkich wyszukiwań w Internecie i wygląda na to, że ludzie mają problem z tym, kiedy pojawia się nowa aktualizacja iOS i nie mogę znaleźć najnowszego rozwiązania lub odpowiedzi.

Jestem na iPhone 4s z iOS 7.1 i używam xcode 5.1, jeśli to robi jakąkolwiek różnicę.

Używam również aplikacji dostępnej w App Store o nazwie "Frontback", która z powodzeniem wykonuje to samo, co z UIAlertView wyświetlaną w Safari, więc jest to zdecydowanie możliwe.

Dzięki za pomoc.

+0

co jest przykładem schematu URL, którego chcesz użyć, aby otworzyć aplikację? lub czy to nieistotne, że chcesz otworzyć aplikację, gdy kiedykolwiek pojawi się coś takiego: hi: //this_is_my_app.cool –

+0

Domyślam się, że jest to nieistotne XD –

+0

Schemat URL, który opisałem powyżej, działa idealnie. Po prostu chcę pozbyć się UIAlertView. – user3344977

Odpowiedz

2

Używam tej metody w mojej aplikacji bez uzyskania UIAlertView. To po prostu idzie prosto do aplikacji.

Miałem podobny problem, gdy po raz pierwszy zacząłem go wdrażać. Podejrzewam, że to nie jest problem z myappname://, ale prawdopodobnie problem z dodaniem schematu URL.

Należy przypisać niestandardową wartość (myappname) do obiektu URL Identifier (com.mycompany.myappname). Numer URL identifier powinien być ciągiem, a URL Schemes powinna być tablicą, której niestandardową wartością jest ciąg.

Wersja XML swojego .plist powinna wyglądać następująco:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.mycompany.myappname</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>myappname</string> 
     </array> 
    </dict> 
</array> 
+0

"Podejrzewam, że to nie jest problem z myappname: //, ale możliwe, że problem z tym, jak dodałeś Schemat adresu URL." - Prawdopodobnie masz rację.Pytałem to dawno temu i myślę, że po prostu nie wiedziałem wystarczająco dużo o tym, czego nie wiedziałem, aby zrozumieć problem. – user3344977

+1

Jesteś w stanie otworzyć aplikację bez wyświetlania alertu, korzystając tylko z niestandardowego schematu URL? Pokazywanie alertu wydaje się być jego domyślnym zachowaniem w iOS 9+. Chciałbym wiedzieć, czy Twoje podejście działa nadal, ponieważ alert nadal pojawia się nawet po wykonaniu tej odpowiedzi. – Crashalot

Powiązane problemy