2

AirDrop でテキスト (または URL) と画像を共有しようとしていますが、画像だけが送信されているようです。他の共有アクティビティ (Facebook、Twitter、メール、メッセージなど) で問題なく動作します。AirDrop で 2 つのアイテムを共有することはできますか? UIActivityViewController の使用方法は次のとおりです。

 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];
4

2 に答える 2

1

Apple Dev Forums に同じ質問を投稿しました: https://devforums.apple.com/message/937697#937697

この答えを得ました:

現在、できません。AirDrop では、単一アイテムのセットのみを送信できます。反対側の独自のアプリのインスタンスに送信しようとしている場合は、代わりにファイル形式を作成し (ここではおそらくバンドル/パッケージが適しています)、すべての異なるタイプをファイルに埋め込むことができます。次に、受信側で、ファイルからさまざまなタイプを抽出できます。

于 2014-01-30T09:03:51.317 に答える