2019独角兽企业重金招聘Python工程师标准>>>

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

iOS App Launch Option相关推荐

  1. iOS启动优化之——如何使用Xcode Log、App Launch、代码来计算启动时间 Launch Time

    在iOS启动优化之--如何使用MetricKit 来计算启动时间 Launch Time ,我们提到,可以使用MetricKit 在Organizer中或者直接代码统计,那么还能用什么来统计呢? 配置 ...

  2. iOS App审核遇到的问题(持续更新)

    Guideline 5.3.2 - Legal - Gaming, Gambling, and Lotteries 解决:在规则里面加入 该抽奖活动跟苹果无关 Your app includes a ...

  3. The App Launch Cycle

    When your app is launched, it moves from the not running state to the active or background state, tr ...

  4. Xcode更改ios app图标

    在XCode中upload到App Store时会提示没有App icon会无法传过去构建版本. 修改ios app图标的位置: 1.找到Xcode下的General 2.往下拉找到App Icons ...

  5. iOS App启动流程

    UIApplicationMain 创建Application和AppDelegate,启动消息循环 the App Launch Sequence on iOS

  6. 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App

    2019独角兽企业重金招聘Python工程师标准>>> 第二课名称是: My First iOS App 我的第一个iOS应用 注意:我用的是XCode Version 4.5.2 ...

  7. 在你的 iOS App中 使用 OpenSSL 库 转发

    在你的 iOS App中 使用 OpenSSL 库 转发 英文原文链接:http://www.x2on.de/2010/07/13/tutorial-iphone-app-with-compiled- ...

  8. .iOS APP Project or Mac APP Project编译错误提示: My Mac 64-bit is not valid for Running the scheme...

    1. iOS APP Project or  Mac APP Project编译错误提示: "The run destination My Mac 64-bit is not valid f ...

  9. 解决Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.facebook.WebDriver

    ① 目的: 昨天还好好的,今天早上环境启动好无法启动手机APP了. 但是使用模拟器好好地. ② 环境 Python+appium+IOS真机 ③ 错误信息 3.1错误信息: Xcode couldn' ...

最新文章

  1. 2022-2028年中国汽车天线行业市场需求与投资规划分析报告
  2. @2021 高考生,用 Python 分析专业“钱景”
  3. ORACLE SQL Developer日期显示格式设置
  4. WebRTC 音频模块单独编译 --【转载】
  5. [转载]Android Layout标签之-viewStub,requestFocus,merge,include
  6. ssm框架sql换成MySQL_搭建ssm框架,可实现登录和数据展示以及增删改查
  7. numpy 常用api(二)
  8. hash和encrypt区别及应用_转
  9. 由于焦点冲突导致TextView的跑马灯效果和EditText不能共存的问题
  10. 计算机一级考试基本操作是什么,计算机一级等级考试试题基本操作总结
  11. windows网络和共享中心“查看基本网络信息并设置连接”为“未知”的解决方案
  12. core dump的诡异事件
  13. 千锋Python培训教程合集
  14. 2020年度总结 | 葡萄城软件开发技术回顾
  15. 吴恩达提出了著名的二八定律
  16. 《Android程序员指南》翻译暂停,望见谅
  17. Stanford NER CRF FAQ
  18. JavaScript制作留言板
  19. 使用flask获取树莓派摄像头监控视频
  20. supermap大赛用得到python吗_在pygraph中使用超图,需要验证示例

热门文章

  1. Java Web的Struts2的多语种网站的多语言切换实例
  2. Bash命令行历史用法【转】
  3. java 12-3 StringBuffer的添加和删除功能
  4. python中统计列表各个元素的个数
  5. oracle中的备注的配置与查询
  6. 浅谈runtime运行时机制
  7. hibernate配置之property name=hbm2ddl.autocreate/property导致每次创建SessionFactory都清空数据库中的数据...
  8. 在项目中代替DevExpress(一)
  9. dedephp geteditor(,cms教程:dedecms修改后台编辑器参数GetEditor的方法
  10. 连接php的作用是什么意思,链接是什么?