2014-06-25 16 views
6

UIActivityViewController kullanarak bir görüntüyü, bir metni ve bir url'yi paylaşmak için aşağıdaki kodu kullanıyorum. Her şey iyi çalışır, çünkü kullanım AirDrop'u seçtiğinde, "tüm bu öğeleri aynı anda alamaz". Sadece görüntüyü paylaşırsam, AirDrop çalışır. E-posta, Facebook, twitter paylaşım yöntemleri için metin ve url ihtiyacım var.Airdrop hata iletisi: "tüm bu öğeleri aynı anda alamıyor"

Metni ve URL'yi saklamanın ve AirDrop'u görüntü paylaşmanın bir yolu var mı, Facebook, e-posta, twitter paylaşım yöntemleri paylaşmaya çalıştığım görüntü ile birlikte metni ve URL'yi kullanmaya devam ederken?

NSString *text = [NSString stringWithFormat:@"I made this image using %@ iOS app. Here is the link to download it:", [CloudHelper appName]]; 
NSURL *url = [NSURL URLWithString:APP_URL];  

UIActivityViewController *activityController = 
[[UIActivityViewController alloc] 
initWithActivityItems:@[text, url, myImage] 
applicationActivities:nil]; 

[self presentViewController:activityController animated:YES completion:nil]; 
oluşturabilir ve tek bir dize, bir görüntüyü ve bir URL döndürür UIActivityItemSource, uygun üç nesne paylaşmak istediğiniz

cevap

8

. Daha sonra, öğeyi talep eden delege geri çağrısı çağrıldığında, hangi aktivite türünün seçildiğini kontrol edin (Facebook, Twitter, hava durumu, vb.) Ve bu öğe geçerli değilse nil dönüşü vardır.

Dolayısıyla, hava durumu söz konusu olduğunda, görüntü için yalnızca öğe kaynağı sıfır olmayan bir değer döndürecektir. UIActivityItemSource

'un nasıl uygulanacağına ilişkin bazı örnekler için airdrop sample code'a bakabilirsiniz.