2

アプリ拡張機能のクローズの問題に直面しています。誰かが何が間違っているのか知っているかどうか教えてください。拡張機能内でいくつかのアクションを実行した後にアクション拡張機能を使用しています。応答を返す必要があります。

サンプルコード

// With Success Case
- (void) completeActionWithItems: (NSString *) response {
    NSExtensionItem *extensionItem = [[NSExtensionItem alloc] init];
    extensionItem.attachments = @[[[NSItemProvider alloc] response typeIdentifier: (NSString *)kUTTypePlainText]];
   [self.extensionContext completeRequestReturningItems: @[extensionItem] completionHandler: nil];
}


// With Error Case
- (void) completeActionWithError: (NSError *) error {
     [self.extensionContext cancelRequestWithError: error];
}

成功ケースでは正常に動作していますが、しばらく閉じていません。エラーケースではコードの上で動作していません。何が問題だったのか教えてください。ありがとう

4

1 に答える 1

1

アクション拡張機能を作成する場合、これがアクション拡張ビュー コントローラーを閉じる既定のメソッドです。

- (IBAction)done {
// Return any edited content to the host app.
// This template doesn't do anything, so we just echo the passed in items.

[self.extensionContext completeRequestReturningItems:self.extensionContext.inputItems completionHandler:nil];
}

このメソッドは既に提供されているので、success メソッドから呼び出してみてください。

// With Success Case
- (void) completeActionWithItems: (NSString *) response {
NSExtensionItem *extensionItem = [[NSExtensionItem alloc] init];
extensionItem.attachments = @[[[NSItemProvider alloc] response typeIdentifier: (NSString *)kUTTypePlainText]];
   [self.extensionContext completeRequestReturningItems: @[extensionItem] completionHandler: nil];

// Call to "done" method
[self done];
}
于 2015-04-30T16:10:00.280 に答える