6

Ich habe ein Bild, das ich von der Kamera aufgenommen und im/tmp-Ordner gespeichert.Freigabe von UIImage zu UIActivityViewController Twitter/Facebook sehr langsam zum Anzeigen von Dialog

Wenn ich dieses Bild den activityItems eines UIActivityViewController hinzufüge und dann drücke, um es mit Twitter oder Facebook zu teilen, muss ich bis zu 20 Sekunden warten, bis der Freigabe-Dialog erscheint.

Beachten Sie, dass ich mich auf den tatsächlichen "Post" -Dialog, der für Twitter/Facebook angezeigt wird, nicht auf das native Freigabe-Popup bezieht, das es hervorbringt.

Wenn ich dasselbe Bild aus der Fotos App teile, wird es sofort angezeigt.

Zuerst dachte ich, dass die Fotos App die Größe des Bildes änderte, da ein kleineres Bild schneller erscheint, aber als ich entdeckte, dass wenn ich das gleiche Bild direkt mit SLComposeViewController auf Twitter oder Facebook teile, erscheint es (fast) sofort .

Angenommen, es ist etwas, was ich falsch im Code zu tun, hier ist das, was im Schneckentempo Dialog Aussehen ergibt:

NSArray *items = @[@"foo", [UIImage imageWithContentsOfFile:@"valid path to test image"]]; 

UIActivityViewController *vc = [[UIActivityViewController alloc] 
     initWithActivityItems:items applicationActivities:nil]; 
[self presentViewController:vc animated:YES completion:nil]; 

Hier ist, was fast sofort funktioniert:

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 
[controller setInitialText:@"foo"]; 
[controller addImage:[UIImage imageWithContentsOfFile:@"valid path to test image"]]; 
[self presentViewController:controller animated:YES completion:Nil]; 

Für was es wert ist Ich habe auch versucht, die anderen Share-Typen auszuschließen (ich habe gelesen, dass in der Vergangenheit AirDrop Probleme verursacht hat), sowie den Block eingeschlossen, um sicherzustellen, dass ich den Haupt-Thread ausführte.

Ich nehme an, ich mache etwas falsch?

Wenn ich nicht bin, und diese beiden anderen Methoden sind in der Tat die Größe des Bildes, gibt es einige Dokumentation, die ich vermisse, die Anleitung gibt, wie viel Größe zu tun?

** Edit: zusätzliche Tests scheint dieses Problem zu zeigen ist einzigartig für iOS8, wie ich es nicht auf einem älteren iOS7-Gerät erlebt habe.

Dank

+0

Ich wollte nur hinzufügen, dass ich das auf iOS 8.4 sehe – francis

+0

Hmm ... Das ist eine Schande. Wird das Bild dann wirklich auf Twitter hochgeladen? Es wäre gut, vom Nutzer erstellte Fotos hochzuladen. – fatuhoku

+0

Ist dieses Leistungsproblem auch weiterhin in iOS 9 vorhanden? – fatuhoku

Antwort

0

Wir haben 4-20 Sekunden Verzögerung gesehen, bevor der Dialog Aktie als auch erscheinen !.
Ich habe es behoben, indem Sie benutzerdefinierte UIActivity Elemente für Twitter und Facebook, die einfach SLComposeViewController innerhalb performActivity Methode ruft.

Scheint viel schneller.