我尝试编写一个操作扩展(不带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