2010-01-07 4 views
9

Dies ist aus irgendeinem Grund wirklich schwer zu finden und zu lösen. Kann keine Dokumentation darüber finden. Ich habe eine nicht dokumentbasierte Anwendung, die ich alle spezifischen Dateitypen öffnen möchte, aber ich möchte NSDocuments nicht verwenden, aber meinen Code das Öffnen von Datei und Verarbeitung von es behandeln lassen. Ich habe die CFBundleTypeExtensions und alle Einstellungen zur info.plist hinzugefügt.Associate Dateityp/Erweiterung zu nicht dokumentbasierten Kakao-Anwendung

Jetzt öffnet die Anwendung den Dateityp aber zeigt einen Fehler an wie: "Das Dokument xxxx konnte nicht geöffnet werden. Die Anwendung kann Dateien im JJJJJ-Format nicht öffnen."

Antwort

12

Haben Sie -application:openFile: in einem App-Delegaten implementiert? Wenn nicht, hat Ihre Anwendung keine Möglichkeit zu wissen, wie Sie eine zufällige Datei in einem beliebigen Format öffnen können. Es liegt an Ihnen, diese Funktionalität hinzuzufügen und mit Erfolg oder Misserfolg zu reagieren.

+0

Sorry, ich meinte etwas anderes. Wenn ein Benutzer auf eine Dateierweiterung doppelklickt (in CFBundleTypeExtensions konfiguriert), sollte meine App die Anfrage korrekt behandeln. Aber ohne Verwendung von NSDocument. –

+0

Sie haben gesagt, dass Ihre App geöffnet wird (ich gehe davon aus, wenn Sie auf die Datei doppelklicken), aber wird sich beschweren, dass das Dokument nicht geöffnet werden konnte. In einer nicht auf Dokumenten basierenden Anwendung erfordert dies, dass ein Objekt als Anwendungsdelegat dient und auf -application antwortet: openFile: um das Richtige zu tun. Hast du das gemacht? –

+0

Ahh, es war wirklich so einfach. Das ist die Antwort. Ich habe völlig auf den falschen Platz geschaut. Vielen Dank. –

Verwandte Themen