2

エアドロップ経由で 1 つの文字列を送信したいのですが、他のデバイスで文字列が正常に受信されたときに 1 つの関数を呼び出したいと考えています。UIActivityViewController を介して実装し、completedHandler を介してチェックします。

ここに私のシナリオがあります: デバイス A -> デバイス B に文字列を送信 デバイス B の受信に 2 つのオプションがある場合 -> 承認または拒否 デバイス B がそのメッセージを受信または拒否するときに、デバイス A で 1 つの関数を呼び出したいとします。

以下は私の実装です:

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.customURLContainer] applicationActivities:nil];

    activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) {
        NSLog(@"completed dialog - activity: %@ - finished flag: %d", activityType, completed);

        if ( completed )
        {
            NSLog(@"completionHandler - Succeed");
        }
        else
        {
            NSLog(@"completionHandler - didn't succeed.");
            // didn't succeed.
        }

ただし、上記の関数は、文字列が他のデバイスによって「送信」または「拒否」されたかどうかにかかわらず、常に 0 を返します。

デバイスAで確認できますか?「送信済み」より受信した場合、「拒否済み」より拒否した場合、デバイス A のアクティビティを確認できるためです。

4

1 に答える 1

2

いいえ、これは現在不可能です。ただし、これを要求するAppleにバグレポートを提出する必要があります

于 2014-01-10T17:35:27.667 に答える