博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS App Launch Option
阅读量:7304 次
发布时间:2019-06-30

本文共 1384 字,大约阅读时间需要 4 分钟。

hot3.png

iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。

launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。

  • 若用户直接启动,lauchOptions内无数据;

  • 若由其他应用程序通过openURL:启动,则UIApplicationLaunchOptionsURLKey对应的对象为启动URL(NSURL),UIApplicationLaunchOptionsSourceApplicationKey对应启动的源应用程序的bundle ID (NSString);

  • 若由本地通知启动,则UIApplicationLaunchOptionsLocalNotificationKey对应的是为启动应用程序的的本地通知对象(UILocalNotification);

  • 若由远程通知启动,则UIApplicationLaunchOptionsRemoteNotificationKey对应的是启动应用程序的的远程通知信息userInfo(NSDictionary);

  • 其他key还有UIApplicationLaunchOptionsAnnotationKey,UIApplicationLaunchOptionsLocationKey,

    UIApplicationLaunchOptionsNewsstandDownloadsKey。

如果要在启动时,做出一些区分,那就需要在下面的代码做处理。

比如:您的应用可以被某个其它应用调起(作为该应用的子应用),要实现单点登录,那就需要在启动代码的地方做出合理的验证,并跳过登录。

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
    NSURL *url = [options objectForKey:UIApplicationLaunchOptionsURLKey];
    if(url)
    {
    }
    NSString *bundleId = [options objectForKey:UIApplicationLaunchOptionsSourceApplicationKey];
    if(bundleId)
    {
    }
    UILocalNotification * localNotify = [options objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if(localNotify)
    {
    }
    NSDictionary * userInfo = [options objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(userInfo)
    {
    }
}

转载于:https://my.oschina.net/michael1986/blog/290946

你可能感兴趣的文章
Mesalink v1.0.0 发布,正式支持 TLS 1.3 和 IPv6,支持CMake编译,支持Windows,实现生产环境可用...
查看>>
从黑洞中拯救量子理论:霍金的终极探索
查看>>
微软正在改进 Windows 命令行:为 Linux 用户敞开大门
查看>>
中国发布自主开发的域名系统基础软件 “红枫”
查看>>
怎样不被坑 关于ERP“二次开发”那些事
查看>>
2016中国数据加速峰会 好戏不容错过
查看>>
运营商原来这样处理我们的数据|报告
查看>>
VR游戏的“寒冬”,到底该如何破冰?
查看>>
第二届金融交易技术大会拥抱Fin Tech-创新、科技、融合在沪圆满落幕!
查看>>
Mac下利用SSH进行传输文件(转)
查看>>
Oculus公布Touch外设指导手册,帮助开发者打造更多新外设
查看>>
PostgreSQL 变态并行拉取单表的方法 - 按块并行(按行号(ctid)并行) + dblink 异步调用...
查看>>
工信部:将重点推动中国制造2025六方面工作
查看>>
Java多线程学习(二)synchronized关键字(2)
查看>>
Redis Sentinel实现的机制与原理详解
查看>>
优步CEO与自家司机争吵之后,将会有更多的司机离他而去了
查看>>
组播协议
查看>>
印度尼西亚7-Eleven营销活动准备时间缩短80%,优化了客户体验
查看>>
cacti
查看>>
oracle单机改变归档路径
查看>>