Ich schreibe eine Web-App, die unter iOS offline verwendet werden kann. Ich habe ein Manifest erstellt, diene es als text/cache-manifest
und es funktioniert normalerweise einwandfrei, wenn ich in Safari ausgeführt werde.
Wenn ich es als App zu meinem Startbildschirm hinzufüge und dann den Flugzeugmodus einschalte, kann es die App überhaupt nicht öffnen - ich erhalte eine Fehlermeldung und es wird angeboten, die App zu schließen. (Ich dachte, das wäre der gesamte Zweck einer Offline-App!)
Wenn ich die App zum ersten Mal online lade, kann ich in meinen Protokollen sehen, dass jede im Manifest aufgeführte Seite angefordert wird.
Wenn ich den Flugzeugmodus ausschalte und die App lade, kann ich sehen, dass die erste angeforderte Datei meine main.html-Datei ist (die beide im Manifest aufgeführt ist und das
manifest=...
Attribut hat). Es fordert dann das Manifest und alle meine anderen Dateien an und erhält 200 für alle (und 304 für alles, was beim Laden ein zweites Mal angefordert wird).Wenn ich die Seite in Chrome lade und herumklicke, zeigen die Protokolle, dass das einzige, was auf dem Server erreicht werden soll, "/favicon.ico" ist (ein 404, und ich glaube nicht, dass iOS Safari versucht, es zu laden , wie auch immer). Alle im Manifest aufgeführten Dateien sind gültig und werden fehlerfrei bereitgestellt.
Der Chrome-Inspektor listet unter "APPLICATION CACHE" alle zwischengespeicherten Dateien auf, die ich erwartet habe. Der gesamte Satz von Dateien ist ungefähr 50 KB groß, weit unter jeder Grenze für Offline-Ressourcen, die ich gefunden habe.
Soll das funktionieren, dh soll ich eine Offline-iOS-App nur mit HTML / CSS / JS erstellen können? Und wo finde ich heraus, warum es nicht funktioniert, offline zu arbeiten?
(Verwandt, klingt aber für mich nicht ganz gleich, da es sich um Safari und nicht um eine eigenständige App handelt: " Eine Web-App kann nicht offline auf dem iPod funktionieren ")