如何从Action Extension向主机应用程序返回错误消息?

时间:2018-10-08 04:31:58

标签: ios

我尝试编写一个操作扩展(不带UI),该扩展可以将错误消息返回到主机应用程序以显示。

根据应用程序扩展编程指南

“根据用户的选择,您可以调用completeRequestReturningItems:completionHandler:方法(可以选择将NSExtensionItemobjects返回到主机应用程序),也可以是cancelRequestWithError:方法,以返回错误代码。”

我试图在cancelRequestWithError上找到示例,但到目前为止无法找到有效的示例(主机将采取相应措施),因此,我不知道下面的代码是否正确。

NSDictionary *userInfo = @{
  NSLocalizedDescriptionKey: NSLocalizedString(@"Operation was unsuccessful.", nil),
  NSLocalizedFailureReasonErrorKey: NSLocalizedString(@"Download operation timed out.", nil)
};

NSError *error = [NSError errorWithDomain:@"MyActionExtention" code:-1 userInfo:userInfo];
[self.extensionContext cancelRequestWithError:error];

通过cancelRequestWithError:链接,

“返回时,NSError对象的userInfo字典包含一个名为NSExtensionItemsAndErrorsKey的键,其键值为NSExtensionItem对象和相关的NSError实例的字典。”

我应该使用NSExtensionItemsAndErrorsKey字典而不是消息描述返回错误吗?

预先感谢

Ahmoy

0 个答案:

没有答案