如何通过"属性列表"通过自定义URL对iOS应用程序进行对象?

时间:2013-03-22 17:16:59

标签: ios objective-c uiapplicationdelegate uiapplication

iOS大师,

我正在创建一个响应自定义网址的iOS应用程序。在阅读处理自定义URL的文档时(这里的API文档:application:openURL:sourceApplication:annotation:),我看到第4个参数是注释,定义如下:

  

注释
源应用程序提供的属性列表对象,用于将信息传递给接收应用程序。

但是,当我查看打开自定义URL的方法(此处的API文档:openURL:)时,无法定义“属性列表”对象。您只能指定URL(它本身可能在查询字符串中包含名称/值参数)。

如何将“属性列表”对象另外传递给应用程序的URL?

2 个答案:

答案 0 :(得分:1)

注释选项适用于当用户使用UIDocumentInteractionController引用该应用创建的文档时打开的应用。

如果您想在UIWebView中从自定义URL方案启动应用程序,那么这与您无关。

答案 1 :(得分:0)

要完成@Richard的答案的第一部分,请在调用presentPreviewAnimated之前使用有效的属性列表设置UIDocumentInteractionController的annotation属性:

NSURL *fURL = [[NSBundle mainBundle] URLForResource:@"Document" withExtension:@"pdf"];
if (fURL) 
{
    UIDocumentInteractionController *dIC;
    dIC = [UIDocumentInteractionController interactionControllerWithURL: fURL];
    dIC.annotation = @{@"foo": @"bar"};
    [dIC setDelegate:self];
    [dIC presentPreviewAnimated:YES];
}