[英]get the value from launchOptions at application(… launchOptions: [NSObject: AnyObject]?)
[英]When/What/Why/How to use value of UIApplicationOptionsURLKey from launchOptions in application(application:willFinishLaunchingWithOptions:)?
背景
我刚开始学习Apple的API,现在,我正在学习UIApplicationDelegate
的功能。 更具体地说,我正在解析func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool
。
质询
可以在launchOptions
找到的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
的键值对的功能。
可能还有其他原因,但我用它来打开我的应用程序的特定文件。
我的应用程序以自己的格式保存备份文件。 如果用户在其设备中有其中一个文件,则可以选择使用我的应用程序打开该文件。 如果他这样做,我的应用程序打开,这发生了:
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”时,我的应用程序将打开并调用该代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.