Frage

Wer weiß, wenn Sie programmatisch eine .webarchive auf dem iPhone öffnen kann? Ein .webarchive ist Safari Art und Weise eine Webseite der Verpackung und es Ressourcen in eine einzige Datei verknüpft.

Ich habe versucht, ein und das Surfen zu einem Link zu einem in der mobilen Safari zu schaffen, aber es hat nicht funktioniert ....

Hinweis: Ich war irgendwie gehofft dies ohne einen 3rd-Party-App getan werden könnte, da es ein guter Weg, einen WebApp würde für die Verwendung auf dem iPhone zu verpacken, ohne ein Drittanbieter-Tool zu benötigen.

War es hilfreich?

Lösung

webarchive auf iOS unterstützt. laden Sie es einfach auf UIWebView. Es funktioniert einfach!

für eine webarchive auf Ihrem Bündel Laden, nur tun

NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"myFile"
     withExtension:@"webarchive"];

[webView loadRequest:[NSURLRequest requestWithURL:fileURL]];

webview ist Ihr UIWebview

Andere Tipps

ein .webarchive ist nur ein plist; Theoretisch könnte man es mit NSPropertyListSerialization lesen und dann eine lokale Dateistruktur auf dem Handy bauen, dann ist das in eine UIWebView pumpen. Oder verwenden AirSharing.

ein wenig auf Vorschläge über Erweiterung, wenn Sie nur die HTML greifen wollen, kann der folgende Code-Snippet ein guter Ausgangspunkt sein. Durch die webMainResource Wörterbuch Inspektion können Sie ein anderes Material extrahieren zu, wie Bilder.

#define WEB_ARCHIVE @"Apple Web Archive pasteboard type"

- (NSString*) htmlStringFromPasteboard;
{
    NSData* archiveData = [[UIPasteboard generalPasteboard] valueForPasteboardType:WEB_ARCHIVE];

    if (archiveData)
    {
        NSError* error = nil;
        id webArchive = [NSPropertyListSerialization propertyListWithData:archiveData options:NSPropertyListImmutable format:NULL error:&error];

        if (error)
        {
            return [NSString stringWithFormat:@"Error: '%@'", [error localizedDescription]];
        }
        NSDictionary* webMainResource = [webArchive objectForKey:@"WebMainResource"];
        NSData * webResourceData = [webMainResource objectForKey:@"WebResourceData"];

        NSString* string = [[NSString alloc] initWithData:webResourceData encoding:NSUTF8StringEncoding];

        return [string autorelease];
    }

    return @"No WebArchive data on the pasteboard just now";

}

AirSharing auf dem iPhone wird webarchive Dateien öffnen, aber ich habe keine Ahnung, ob sie alles selbst oder mit nativen webarchive Unterstützung tun.

Siehe http://www.avatron.com/products/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top