【问题标题】:How can I pass a "property-list" object to an iOS Application via Custom URL?如何通过自定义 URL 将“属性列表”对象传递给 iOS 应用程序?
【发布时间】:2013-03-22 17:16:59
【问题描述】:

iOS 大师,

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

注解
由源应用程序提供的属性列表对象,用于与接收应用程序进行信息通信。

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

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

【问题讨论】:

    标签: ios objective-c uiapplicationdelegate uiapplication


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      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];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-30
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多