何时/什么/为什么/如何使用应用程序中的launchOptions(应用程序:willFinishLaunchingWithOptions :)中的UIApplicationOptionsURLKey的值?

时间:2016-04-11 01:34:42

标签: ios swift uikit appdelegate uiapplicationdelegate

背景

我刚刚开始学习Apple的API,现在,我正在学习UIApplicationDelegate的功能。 更具体地说,我正在解析func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool

问题

可以在launchOptions中找到的密钥是UIApplicationLaunchOptionsURLKey此密钥何时存在?

对应键,有一些价值。 这个值是多少?

出于某种原因,我获得了这个键值对。 我为什么要使用它?

最后,最重要的是:如何使用它?

附加信息

据我所知,我正在制作一个样板项目。 以下是其中的内容:

func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool
    {
        print("application(application:willFinishLaunchingWithOptions:)")

        if let options: [NSObject: AnyObject] = launchOptions
        {
            for option: (key: NSObject, AnyObject) in options
            {
                switch option.key
                {
                // The presence of this key indicates that the app was launched in order to open a URL. The value of this key is an NSURL object containing the URL to open.
                case UIApplicationLaunchOptionsURLKey:
                    <#code#>
                ...

对于未来的项目,我计划用其他内容替换<#code#>以利用UIApplicationLaunchOptionsURLKey键值对的功能。

1 个答案:

答案 0 :(得分:2)

可能还有其他原因,但我用它来用我的应用程序打开特定文件。

我的应用以自己的格式保存备份文件。如果用户在其设备中有其中一个文件,则可以选择使用我的应用程序打开该文件。如果他这样做,我的应用程序就会打开并发生这种情况:

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        if let url = launchOptions?[UIApplicationLaunchOptionsURLKey] as? NSURL {
            handleBackupFile(url)
        }
        return true
}

除了通常启动应用程序外,我还要调用handleBackupFile()来处理备份文件。

如果我的应用可以打开多种文件,我可能会查看它的文件类型。

编辑:

这是我的应用程序Leio的实际示例:

Copy to Leio

当用户点击&#34;复制到Leio&#34;我的应用程序打开并调用该代码。

相关问题