So öffnen Sie eine native iOS-App über eine Webanwendung

Zusammenfassung ich habe eine app mit einem korrekt funktionierenden URL-Schema an, ich möchte das starten von einer web-app gespeichert, die Sie auf dem home-Bildschirm, und die normalen JavaScript-redirect-Methoden nicht zu funktionieren scheinen.

Details ich versuche zum erstellen einer iOS web app geöffnet werden, um in den Vollbild-Modus über einen link gespeichert, der auf dem Home-Bildschirm. Die web-app zum öffnen eines bestimmten nativen app. Ich habe schon registriert das url-Schema für die native app und bestätigt, dass es richtig funktioniert - ich kann öffnen Sie die native app durch Eingabe der Regelung direkt in meine Safari-Adressleiste, zum Beispiel. Ich kann auch das öffnen von anderen Anwendungen, die mit der +openURL: Methode der UIApplication. Ich möchte auch öffnen Sie Sie mit bestimmten Argumenten aus eine native web-app, können Hinzugefügt werden, um den home-Bildschirm.

Was ich versuche zu tun, ist die Verwendung von JavaScript, wie also innerhalb der nativen app:

window.location = "myapp://myparam";

Bei der Verwendung dieses Codes innerhalb der web-app bekomme ich die Warnmeldung:

Kann nicht Geöffnet werden"myWebAppName - myWebAppName konnte nicht geöffnet werden. Die
Fehler war "Diese URL kann nicht angezeigt werden".".

Diese javascript-Ausführung in Safari korrekt funktioniert. Bekomme ich das gleiche Ergebnis mit window.location.replace("myapp://myparam").

Den html-Code für die web-app ist:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>untitled</title>
    <meta name="generator" content="TextMate http://macromates.com/">
    <meta name="author" content="Carl Veazey">
    <!-- Date: 2012-04-19 -->
    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />
</head>
<body>
    <script type="text/javascript" charset="utf-8">
        if (window.navigator.userAgent.indexOf('iPhone') != -1) {
            if (window.navigator.standalone == true) {
                window.location = "myapp://myparam";
            } else {
                document.write("please save this to your home screen");
        };} else {
                alert("Not iPhone!");
                document.location.href = 'please-open-from-an-iphone.html';
        };
    </script>
</body>
</html>

Was mache ich hier falsch? Ich bin ziemlich unerfahren mit javascript und mobilen web, so dass ich vermute, ich bin nur etwas fehlt offensichtlich.

InformationsquelleAutor der Frage Carl Veazey | 2012-04-19

Schreibe einen Kommentar