Ich habe eine Website und eine native iPhone App. Die App registriert ein benutzerdefiniertes Protokoll. Ich möchte, dass die Site bei Bedarf automatisch zum Protokoll umleitet, aber nur, wenn der Benutzer die App installiert hat (um einen störenden Dialog zu vermeiden). Das bedeutet, dass ich einen Status aus der App schreiben muss, den ich in einer mobilen Safari lesen kann, um die App als installiert zu markieren. Cookies scheinen nicht prozessübergreifend zu existieren. Kann ich irgendwo anders meinen Marker speichern?Gibt es einen gemeinsamen Status zwischen iPhone Apps und Mobile Safari?
Antwort
Schauen Sie sich this Blogpost an, um zu sehen, wie Apple es für die Mobile Me Gallery App macht. Es beinhaltet die App, die in Safari eine Website (auf Ihrem Server) öffnet, die ein Cookie "App Installiert" in Safari lädt.
Nachdem ich auf diese Frage zurückgekommen bin, habe ich eine andere Teillösung gefunden. Es stellt sich heraus, dass der ungültige Protokolldialog die JavaScript-Ausführung nicht wie eine Warnung blockiert.
So, hier ist, wie Sie Rückfall behandeln, wenn die App aus dem Web-Start:
- einen SetTimeout Handler registrieren, um die Ausweich Seite (mit window.location.replace) zu umleiten nach, sagen wir, 500 ms
- ein onBlur Handler registrieren, dass das Timeout
- öffnen Sie eine uRL mit Ihrem kundenspezifischen Protokoll bricht
- Wenn die App installiert ist, wird der Browser öffnen Sie die App, verwischen die Seite und Aufheben der Rückfall
- Wenn die App nicht installiert ist, sieht der Benutzer nur den Dialog für höchstens 500 ms, bevor sie auf die Ausweich Seite
gewischt sind weg tatsächlich, wie ich das besser, denn während auf der einen Seite Menschen ohne die App Manchmal wird auf der Website ein kurzer Dialog angezeigt, auf der anderen Seite hat dies keinen Einfluss auf die Erststart-Erfahrung der App. Die Technik, die in hantaubs Antwort beschrieben wird, verursacht beim ersten Start der App ein paar ablenkende Übergänge und einen Blitz der mobilen Safari.
- 1. Gibt es einen Weg zu TouchEndInside in Mobile Safari?
- 2. iPhone Mobile Safari: Sonderzeichen
- 3. Unterschiede zwischen uiwebview und mobile Safari
- 4. Gibt es einen Unterschied zwischen Mac Safari und Windows Safari abgesehen von UI/UX?
- 5. Mobile Safari auf iPhone/iPod CSS-Hack
- 6. funktioniert Javascript auf iPhone Mobile Safari XPpath?
- 7. iPhone Safari einen Anruf tätigen
- 8. Mobile Safari SVG Problem
- 9. Gibt es einen Unterschied zwischen $ @ und "$ @"?
- 10. Gibt es einen Unterschied zwischen '=' und In?
- 11. Gibt es einen Unterschied zwischen VbNullString und ""?
- 12. Leistung "plattformübergreifende mobile Apps"
- 13. Gibt es einen äquivalenten IE-Kommentar für Chrome und Safari?
- 14. Scrollbare UINavigationBar ähnlich Mobile Safari
- 15. Entfernen von Textarea Inner Shadow auf Mobile Safari (iPhone)
- 16. Gibt es einen Unterschied zwischen den Funktionen on_exit() und atexit()?
- 17. Daten teilen zwischen zwei iphone apps
- 18. HTML5 Mobile Safari DatePicker - Initialwert
- 19. Gibt es einen Unterschied zwischen System.Windows.Clipboard und System.Windows.Forms.Clipboard?
- 20. Mobile Safari Push Benachrichtigungen
- 21. Können Sie von Mobile Safari auf die iPhone-Kamera zugreifen?
- 22. Aktuelle Position des Ansichtsfensters in Mobile (iPhone) Safari abrufen
- 23. CSS Trick ein einfaches Layout zu Safari Mobile (iPhone)
- 24. iphone offline cached apps verschwinden nach geschlossen in safari?
- 25. Liste der bekannten Unterschiede zwischen "Safari auf dem iPad" und "Safari auf dem iPhone"
- 26. Dashcode unterscheidet zwischen iPad und iPhone Browser
- 27. CSS Hintergrund-Position funktioniert nicht in Mobile Safari (iPhone/iPad)
- 28. Mobile Safari Mega Pixelgrenze?
- 29. Mobile Safari Zurück-Taste
- 30. HTTP Anfragen von iPhone UIWebView und iPhone Safari/PC/Mac