When/What/Why/How 在应用程序中使用 launchOptions 的 UIApplicationOptionsURLKey 值(application:willFinishLaunchingWithOptions:)?
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
中找到的一个密钥是 UIApplicationLaunchOptionsURLKey
。
这个密钥什么时候存在?
对应key,有一定的值。
这个值是什么?
我得到这个键值对是有原因的。 我为什么要用它?
最后,也是最重要的:我如何使用它?
附加信息
据我了解,我正在制作样板项目。
这是里面的内容:
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" 我的应用程序打开并调用该代码。
背景
刚开始学习Apple的API,现在正在学习UIApplicationDelegate
的功能。
更具体地说,我正在剖析 func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool
.
问题
可以在 launchOptions
中找到的一个密钥是 UIApplicationLaunchOptionsURLKey
。
这个密钥什么时候存在?
对应key,有一定的值。 这个值是什么?
我得到这个键值对是有原因的。 我为什么要用它?
最后,也是最重要的:我如何使用它?
附加信息
据我了解,我正在制作样板项目。 这是里面的内容:
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" 我的应用程序打开并调用该代码。