iOS 6.0 Quicklook QLPreviewController Fehler mit: "Cannot find Album Vorhören Element für geladene proxy"
Mein Antrag wurde mit der QLPreviewController zum anzeigen von Dateien aller Typen und in iOS 5.x , so schien es, so zu tun just fine.
Nun im iOS 6.0, erhalte ich eine Fehlermeldung und es zeigt den controller, sondern mit einer Konstanten be-Kennzeichen und nie geladen wird nichts.
Den Fehler in der log: Nicht finden Album Vorhören Element für geladene proxy: <QLPreviewItemProxy: 0x8dbf480> - file://localhost/Users/me/Library/Application%20Support/iPhone%20Simulator/6.0/Applications/E6A58F8D-71F3-4C7A-B16E-4BA017E318E5/Documents/temp//Welcome.docx
Jemand dieses oder andere Probleme mit dem Quicklook in iOS 6.0? Oder irgendwelche Vorschläge was zu versuchen? Ich habe versucht es via iPhone und iPad mit beiden schieben die regler und präsentieren es.
Edit: Auch gerade aufgefallen, dass die URL in Frage (die, die Sie sagen, ist schlecht) startet nicht nur mit file://sondern file://localhost in der Erwägung, dass die original-Datei nur gestartet mit einem aktuellen Pfad (also: file:///Users).
- Nur ein paar mehr Infos: ich habe versucht, die Kontrolle + canPreviewItem auf die fileUrl, bevor ich es zurück in previewItemAtIndex und es wird TRUE zurückgegeben. So nach dem Controller an, bevor Sie gibt es aus, die Methode, die url ist in der Tat previewable....beachten Sie, dass die url ist, die man ohne den Wirt in es.
- Ein weiteres update: ich habe versucht, die Schaffung einer Marke neues Projekt mit der QLPreviewController. Ähnlichen Umständen, und ich fand, dass die seltsamen Proxy-Fehler immer noch passiert, ABER die Datei zeigt! So, jetzt brauche ich, um herauszufinden, was anders ist. Aber die Tatsache, dass der Fehler noch da ist, scheint den Verdacht noch. Überrascht, mehr Menschen haben das erlebt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut nach einer Reihe von Forschungs-und neu erstellen von Grund auf eine grundlegende QuickLook-viewer, fand ich, dass der Fehler war immer noch angemeldet, auch aus, ABER die Dokumente waren tatsächlich wird angezeigt, die Sie waren nicht von meiner ursprünglichen Projekt.
Habe ich dann versucht, indem Sie die QLPreviewController innen ein NavigationController, bevor es präsentiert und endete mit dem gleichen Problem. Ich war die Verpackung des QLPreviewController in einem UINavigationController, bevor wir es denn, die zu sein schien der Weg zum zuweisen der navigationItem eine benutzerdefinierte Schaltfläche. Das funktionierte gut in iOS 5.1 (wie oben gesagt) aber anscheinend ist iOS 6.0 nicht so aus.
Entfernen der extra-code, wickelte die QLPreviewController in einem UINavigationController schien zu erlauben, das Dokument anzuzeigen.
Beispiel der controller wird gewickelt:
Änderung:
Hinweis: auch die Proxy-Fehler scheint immer noch zu zeigen, bis in der log aber
AUCH: Jede UIBarButtonItem Anpassungen scheinen nicht mehr zu arbeiten, ohne NavigationController =/
UPDATE: ich habe festgestellt, dass mit fileURLWithpath zu generieren, die fileURL für previewItemAtIndex gemacht, der ursprüngliche Fehler Weg. Aber das gleiche problem tritt immer noch auf, wo das Dokument wird nicht geladen.
Einen neuen Fehler (das ich gesehen habe, dass andere Leute auch) ist:
LETZTE AKTUALISIERUNG: Ok, das extension Problem/Fehler war, weil ich versucht manuelles hinzufügen von %20 für das Leerzeichen (mit
[NSString stringByAddingPercentEscapesUsingEncoding]
etc), wenn die[NSURL fileURLWithPath]
behandeln müssen, dass bereits. Einmal habe ich entfernt, das hat funktioniert und ich bin jetzt auf iOS 6-yay!So war das wirkliche problem nichts zu tun mit dem UINavigationController aber tatsächlich die Datei-URL weitergeleitet wird, über previewItemAtIndex.
Ich dachte, die Antwort auf diese alte Frage ist, wenn jemand Gesicht gleiche Problem.
Beim Debuggen einer app mit Xcode, und jedes mal die UUID der Anwendung ändern. Aber dies ist nicht zutreffend, wenn sich das laden der app aus dem Gerät.
Beispiel: ich habe folgende Pfade für die gleiche app.
Dokument-Pfad : file:///var/mobile/Applications/CBF533A7-C19A-4336-A92C-DC1A48242A8A/Dokumente/
Dokument-Pfad : file:///var/mobile/Applications/ADB99D3B-EACA-482D-BB8A-0C12B340A044/Dokumente/
Diese überwunden werden können, durch hinzufügen Folgendes an der
- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
*Dateiname, nur Dateiname (medoc.pdf), wo Sie auf Document-Ordner.
Ich heruntergeladen habe die Datei von einem remote-url und lokal gespeichert,
dann habe ich die Anzeige der PDF-Datei über den QLPreviewController .In iOS 6 seine Arbeit.
Zuerst habe ich die Datei gespeichert, die von remote-url mit dem folgenden code :
1)
//Ziehen Sie die pdf-Datei in starken textDocument Verzeichnis
2)
3) #pragma mark QLPreviewControllerDataSource
//Gibt die Anzahl der Elemente, die in der Vorschau controller Vorschau
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController
{
}
//liefert das Element, das die Vorschau-controller Vorschau
- (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index
{
}