17 Stimmen

Ist es möglich, das iPhone/den iPod zu zwingen, das Apple-Touch-Symbol zu aktualisieren, sobald eine Webapp zum Startbildschirm hinzugefügt wird?

Ich habe eine Webanwendung erstellt, die alle empfohlenen Link- und Meta-Tags für Safari verwendet, z. B.

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-startup-image" href="stackoverflow.com/startup.png" />
<link rel="apple-touch-icon" href="stackoverflow.com/apple-touch-icon.png" /> 
<link rel="apple-touch-icon" sizes="72x72" href="stackoverflow.com/apple-touch-icon-ipad.png" /> 
<link rel="apple-touch-icon" sizes="114x114" href="stackoverflow.com/apple-touch-icon-iphone4.png" />

Allerdings ist mein Problem, wenn die startup.png oder einer der Apple-Touch-Icon-Bilddateien auf dem Webserver aktualisiert werden, scheint es nicht wie ein Benutzer iPhone oder iPod wird die aktualisierte Datei wiederherstellen, sobald es auf ihren Startbildschirm gespeichert wurde (ich vermute, es ist irgendwie zwischengespeichert oder etwas). Es funktioniert, die Webapplikation vom Startbildschirm zu entfernen und sie wieder hinzuzufügen. Aber gibt es eine Möglichkeit, der Anwendung mitzuteilen, dass sie diese Bilder aktualisieren muss, ohne dass der Benutzer sie löschen und neu hinzufügen muss?

23voto

Michael Irigoyen Punkte 21857

Es ist schon ein paar Jahre her, dass diese Frage gestellt/beantwortet wurde, und ich kann Ihnen mitteilen, dass dies jetzt möglich ist!

In neueren Versionen von iOS wird das Apple Touch Icon, das auf dem Homescreen angezeigt wird, genau wie jeder andere Inhalt der Website im Cache gespeichert. Durch einfaches Ändern des Namens des Bildes wird die Verknüpfung auf dem Homescreen gezwungen, das Symbol zu aktualisieren, wenn die Verknüpfung das nächste Mal gestartet wird.

Um jedoch mit den Namenskonventionen von Apple übereinzustimmen, können Sie einfach URL-Variablen an den Verweis anhängen, wenn das Symbol erneut heruntergeladen werden soll, und das Bild weiterhin aufrufen apple-touch-icon.png .

Um dieses Problem zu automatisieren, habe ich (in PHP) das Datum und die Uhrzeit der letzten Änderung an das Bild angehängt. Zum Beispiel:

<link rel="apple-touch-icon" href="apple-touch-icon.png?m=<?php echo filemtime('apple-touch-icon.png'); ?>" />

Diese Ausgaben:

<link rel="apple-touch-icon" href="apple-touch-icon.png?m=1415832495" />

Jetzt müssen Sie nichts weiter tun, als das Bild buchstäblich zu überschreiben, und alles andere geschieht automatisch. Wenn Sie das Bild ändern, ändert sich die Änderungszeit und stimmt nicht mehr mit dem überein, was der Benutzer im Cache hat, so dass ein neuer Download erzwungen wird. Ganz einfach!


ALTE ANTWORT: Ich habe viel recherchiert, um eine Lösung zu finden. Leider ist es nicht möglich. Es muss entfernt und wieder zum Startbildschirm hinzugefügt werden, damit das neue Symbol verwendet werden kann.

3voto

user2751440 Punkte 21

Ich habe gerade eine Theorie auf dem Iphone 5 und dem Ipad 2 getestet, und es hat bei beiden funktioniert. Ähnlich wie beim Favicon kann man das neue Favicon durch Ändern der href-Datei zum Ziehen zwingen. Anstelle von href="http://stackoverflow.com/apple-touch-icon.png" Ich habe href="http://stackoverflow.com/apple-touch-icon.png?ver=1.1" und es zog das neue Symbol, wenn die Website besucht wurde (ohne Löschen und erneutes Hinzufügen zum Startbildschirm).

1voto

Jacob E Punkte 11

Wird nur meine kleine "Umgehung" hinzufügen. Ich habe alle möglichen Korrekturen an meiner Website ausprobiert, damit das Symbol in meinen Lesezeichen auf meinem eigenen IPAD korrekt angezeigt wird. Später fand ich heraus, dass auf den Apple-Produkten, auf denen ich zuvor meine Website besucht hatte, das ICON problemlos angezeigt wurde. Alle meine Besuche auf meiner Website war als http://mysitename(ref).dk aber als ich hinzugefügt habe http://www.mysitename(ref).dk das IPAD hat diese Website endlich als neue Website entdeckt und das Apfel-ICON wurde in meinen Lesezeichen korrekt angezeigt :-) Jakob

0voto

Gerben Punkte 16538

Ich habe gesehen, dass Icons aktualisiert werden, aber ich glaube nicht, dass es möglich ist, diese Aktualisierung in irgendeiner Weise zu beeinflussen. Ich habe die aktualisierten Symbole bemerkt, nachdem das Telefon neu gestartet wurde, aber ich habe nicht genug in sie schauen, um etwas schlüssig zu sagen.

0voto

Alex Avila Punkte 9

Wenn ich in meiner Webapp die Datei startup.png mit einer neuen Datei ändere, wird beim ersten Mal, wenn ich die App vom Startbildschirm aus neu lade, das alte Bild angezeigt. Beim Schließen und erneuten Öffnen der App wird das neue startup.png Bild angezeigt. iOS 4.2.1. Dasselbe gilt übrigens auch für das Icon.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X