2014-01-22 71 views
2

我想與AirDrop共享文本(或URL)和圖像,它似乎只發送圖像。它可以與其他共享活動(Facebook,Twitter,郵件,消息等)正常工作。是否有可能與AirDrop共享兩個項目? 這裏是我如何使用UIActivityViewController:如何同時發送文本(或URL)和圖像與AirDrop

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.activityItem, self.attachedImage] applicationActivities:nil]; 

self.attachedImage是的UIImage和self.activityItem是UIActivityItemProvider的子類,可以在委託方法返回不同的文本,不同的活動類型

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType 

不任何人有想法?謝謝!

編輯:

我也試過沒有子UIActivityItemProvider並直接傳遞一些文字。沒有工作。

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"some text", self.attachedImage] applicationActivities:nil]; 

作爲一個說明,它的工作原理,如果我想共享多個文本或多個圖像(的UIImage):

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"text 1", @"text 2"] applicationActivities:nil]; 

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[attachedImage1, attachedImage2] applicationActivities:nil]; 
+1

使用字符串唐,UIActivity指標的T選用子... –

+0

@C_X已經試過了,也不行 – Silvia

+0

是什麼?你嘗試過...更新代碼... –

回答

0

發佈了同樣的問題對蘋果開發論壇:https://devforums.apple.com/message/937697#937697

得到了這樣的回答:

目前是不可能的。 AirDrop只允許您發送單套 物品。如果您嘗試將其發送到您自己的應用程序的實例 另一側,則可以創建一個文件格式(一個 捆綁包/包可能適合此處),並將所有不同類型的文件嵌入到該文件中。然後在接收端,您可以從文件中提取不同的類型。

1

試試這個代碼

NSString *text= @"text to share"; 
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc] 
              initWithStandardText:text]; 

NSArray *activityItems = @[textToShare,self.attachedImage]; 

使用activityItems陣列中的活動視圖控制器。

+0

這就是我在做什麼。我有一個UIActivityItemProvider的子類,它返回一個文本。然後,我將該項傳遞給initWithActivityItems中的UIActivityViewController:applicationActivities:與圖像一起。 – Silvia