2014-01-08 9 views
6

Ich versuche, eine ICS-Datei (Calendar) innerhalb meiner iOS application zu öffnen.UIDocumentInteractionController kann ICS-Datei nicht zum Kalender hinzufügen

Zu Debugging-Zwecken habe ich eine ics-Datei zu meinem Bundle eines Kalenderereignisses hinzugefügt, das in iCal erstellt wurde.

Ich benutze UIDocumentInteractionController, um die Daten der Kalendereinladung in der Hoffnung zu präsentieren, dass der Benutzer sie zu ihrem Kalender hinzufügen kann.

jedoch die UIDocumentInteractionController mit als Quelldatei in ics auf die Präsentation, zeigt es richtig, alle auf das Ereignis bezogenen Daten, aber die Schaltfläche ‚in den calendar‘ mit ‚ersetzt wird Daten Diese Einladung veraltet ist

Wenn ich die Freigabe-Option verwenden, um die Datei per SMS oder E-Mail zu senden und dann zu öffnen, funktioniert es wie erwartet mit der UIDocumentInteractionController, daher denke ich nicht, dass es eine beschädigte Datei ist.

Ich frage mich, ob ich etwas einfaches mit der UIDocumentInteractionController oder wenn dies ein bekanntes Problem fehlt.

würde Irgendwelche Ideen groß sein

self.documentController = [UIDocumentInteractionController 
           interactionControllerWithURL:[NSURL fileURLWithPath:filePath]]; 

self.documentController.delegate = self; 
[self.documentController presentPreviewAnimated:YES]; 

Edit: Ich EKEvents nicht, wie ich und wahrscheinlich zu Ihrem Problem irrelevant sein Eingeladenen zum Ereignis hinzufügen müssen verwenden können, um

+0

Hallo, ich frage mich nur, ob Sie es geschafft haben, dies zu lösen, da ich auch auf das gleiche Problem stoße. – jklp

+0

Nein. Obwohl ich gelesen habe, dass das Document Control niemals ICS-Dateien hätte unterstützen sollen, war es in früheren Versionen tatsächlich undokumentiert. Am Ende mussten wir es parken, da wir scheinbar keine Alternative finden. – Dan

+0

Das ist eine Schande. Ich habe gerade einen Fehlerbericht an Apple geschrieben, daher wird hoffentlich etwas dagegen unternommen. Am Ende habe ich nur einen EKEventEditViewController benutzt (ich weiß, dass dies nicht verfügbar ist), obwohl mein Client damit zufrieden war. Haben Sie darüber nachgedacht, die .ics-Datei per E-Mail zu senden und die Teilnehmer dann per E-Mail darauf aufmerksam zu machen? – jklp

Antwort

0

Dies kann nichts erklärt, sondern Mitarbeiter ein Problem mit seinem iPhone hatte, das ICS-Kalendereinladungen inkonsistent akzeptierte und "diese Einladungsdaten veraltete" -Nachrichten erhielt, wenn es nicht funktionierte. Nach mehreren Versuchs- und Fehlerversuchen war das Ergebnis, dass, wenn das iPhone mit dem WLAN verbunden war, es die Nachricht "Diese Einladungsdaten ist veraltet" geben würde. Wenn es nur mit dem Telefonnetz verbunden wäre, würde es das Ereignis erfolgreich hinzufügen.