【问题标题】:What is the options argument in the AppDelegate's application:openURL:options: method?AppDelegate 的 application:openURL:options: 方法中的 options 参数是什么?
【发布时间】:2016-01-20 16:20:12
【问题描述】:

我在网上上下搜索,但找不到一个例子。苹果的文档说它是定义启动选项。但这些是什么?什么是无害/基本的选择?

【问题讨论】:

  • 你想要定义什么样的午餐选择?
  • @holex 汉堡和薯条配沙拉;)

标签: ios uiapplicationdelegate


【解决方案1】:

From the Apple docs on UIApplicationDelegate:

打开一个发送到您的应用程序的 URL。 如果有要打开的 URL,系统会调用您的应用程序委托的 application:openURL:options: 方法。您还可以通过查看 UIApplicationLaunchOptionsURLKey 键的启动选项字典来判断是否有要打开的 URL。

因此,options 参数是供系统在使用已发送给它的 URL 打开您的应用程序时提供的。 您在调用它时不必传递任何内容,因此如果您只是使用它来打开外部 URL,则可以为选项提供一个空字典(尽管您可能希望传递您的捆绑 ID UIApplicationLaunchOptionsSourceApplicationKey 键)。

编辑

进一步考虑,这是从您的应用打开外部 URL 的完全错误的方式。它只是系统调用以允许您的应用程序打开 URL(如来自 Safari 操作表)的委托方法。你想要:

[[UIApplication sharedApplication] openURL:url];

【讨论】:

  • 感谢您的回答,但如果它为 nil 并需要非空参数,Xcode 会发出警告:i.imgur.com/HDO6o1o.png
  • 等一下,如果你用它来打开一个 URL,你就走错了路。你想要[[UIApplication sharedApplication] openURL:url]
【解决方案2】:
+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| UIApplicationOpenURLOptionsSourceApplicationKey | NSString containing the bundle ID of the originating application                                                                             |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| UIApplicationOpenURLOptionsAnnotationKey        | property-list typed object corresponding to what the originating application passed in UIDocumentInteractionController's annotation property |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| UIApplicationOpenURLOptionsOpenInPlaceKey       | bool NSNumber, set to YES if the file needs to be copied before use                                                                          |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+

我在这里提供了一个类似问题的答案: https://stackoverflow.com/a/39447154/6821647

【讨论】:

    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2017-06-24
    • 2017-06-26
    相关资源
    最近更新 更多