Cuándo / Qué / Por qué / Cómo usar el valor de UIApplicationOptionsURLKey desde launchOptions en la aplicación (application: willFinishLaunchingWithOptions :)?

FONDO

Acabo de comenzar a aprender la API de Apple, y en este momento, estoy aprendiendo acerca de las funciones de UIApplicationDelegate . Más específicamente, estoy diseccionando la func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool .


PREGUNTAS

Una key que se puede encontrar en launchOptions es UIApplicationLaunchOptionsURLKey . ¿Cuándo existe esta key?

De acuerdo con la key, hay algún valor. ¿Qué hay en este valor?

Me dan este par key-valor por una razón. ¿Por qué lo usaría?

Finalmente, y lo más importante: ¿cómo lo uso?


INFORMACIÓN ADICIONAL

Como aprendo, estoy haciendo un proyecto repetitivo. Esto es lo que hay en él:

 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#> ... 

Para proyectos futuros, planeo replace <#code#> con algo más para aprovechar la funcionalidad del par key-valor de UIApplicationLaunchOptionsURLKey .

Probablemente haya otros motivos, pero lo uso para abrir files específicos con mi aplicación.

Mi aplicación guarda los files de copy de security en su propio formatting. Si el usuario tiene uno de esos files en su dispositivo, puede elegir abrir el file con mi aplicación. Si lo hace, mi aplicación se abre y esto sucede:

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

Además del lanzamiento habitual de la aplicación, llamo a handleBackupFile() a, bueno, manejar el file de copy de security.

Si mi aplicación puede abrir más de un tipo de file, probablemente verifiqué qué tipo de file está allí.

Editar:

Aquí hay un ejemplo real de mi aplicación, Leio:

Copia a leio

Cuando el usuario selecciona "Copiar a Leio", se abre mi aplicación y se llama a ese código.