如何通过自定义 URL 将“属性列表”对象传递给 iOS 应用程序?
Posted
技术标签:
【中文标题】如何通过自定义 URL 将“属性列表”对象传递给 iOS 应用程序?【英文标题】:How can I pass a "property-list" object to an iOS Application via Custom URL? 【发布时间】:2013-03-22 17:16:59 【问题描述】:ios 大师,
我正在创建一个响应自定义 URL 的 iOS 应用程序。在阅读处理自定义 URL 的文档(此处的 API 文档:application:openURL:sourceApplication:annotation:)时,我看到第 4 个参数是一个注释,定义如下:
注解 由源应用程序提供的属性列表对象,用于与接收应用程序进行信息通信。
但是,当我查看打开自定义 URL 的方法(此处的 API 文档:openURL:)时,无法定义“属性列表”对象。您只能指定 URL(它本身可能在查询字符串中有名称/值参数)。
如何将“属性列表”对象除了传递给应用程序的 URL?
【问题讨论】:
【参考方案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];
【讨论】:
以上是关于如何通过自定义 URL 将“属性列表”对象传递给 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Express 服务器将多个参数传递给 Next.js 自定义 URL
如何将额外的参数传递给 django admin 自定义表单?
如何将三个或多个参数传递给自定义模板标签过滤器 django?