iOS App Launch Option(附点击推送操作)



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)
    {
    //由其他应用程序通过openURL:启动
    }
    NSString *bundleId = [options objectForKey:UIApplicationLaunchOptionsSourceApplicationKey];
    if(bundleId)
    {
    //对应启动的源应用程序的bundle ID (NSString)
    }
    UILocalNotification * localNotify = [options objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if(localNotify)
    {
    //点击本地推送进来后
    }
    NSDictionary * userInfo = [options objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(userInfo)
    {
     //点击推送进来后
    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 00:04:09

iOS App Launch Option(附点击推送操作)的相关文章

iOS App Launch Option

iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因. launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 . 1.若用户直接启动,lauchOptions内无数据; 2.若由其他应用程序通过openURL:启动,则UIApplicationLa

点击推送消息跳转处理(iOS)

当用户点击收到的推送消息时候,我希望打开APP,并且跳转到对应的界面,这就需要在AppDelegate里面对代理方法进行处理. 当用户点击推送消息打开APP的时候会调用 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions launchOptions中会有推送消息的userInfo信息,此时我们可以通过 NSDictionary* rem

iOS用户点击推送消息进入应用后自动跳转到对应的ViewController

当iOS用户通过点击推送消息进入应用时,在AppDelegate的 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 我们可以通过 NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotific

iOS 关于信鸽推送点击推送通知的处理

最近的项目中使用了推送模块,使用的是企鹅帝国的信鸽推送服务,关于具体怎么推送的,证书如何设置,我不再赘述,一来开发文档中已经讲的非常清楚,二来在网上一搜的话也能搜到一大堆:在这里主要写下关于推送的通知来了之后点击此通知该如何处理,也是对自己做完之后做一个笔记 在这里我项目中所要达到的效果是点击通知栏的推送消息,就进入应用中的相应页:默认的效果是点击推送消息,会直接进入应用,如果应用未启动,则会启动应用进入首页:如果应用已启动,只是点击home退入后台的话,则会返回应用,并且应用之前在哪一个界面,

iOS不使用第三方平台,发送推送消息

iOS不使用第三方平台,发送推送消息 先看看客户端: 需要关注两个点:一是代码部分的DeviceToken获取,且看代码 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //消息推送支持的类型 UIRemoteNotificationType types = (UIRemoteNotificationTypeBadge |U

点击推送,跳转到查看推送消息的页面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ <br> <br>   if(launchOptions) <br> <br>    { <br> <br>        [[UIApplication sharedApplication] setApplicati

【记录】iOS10 点击推送栏的问题

之前做的一个用户点击 推送栏然后处理相应事件是在这里面处理的 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 在里面判断是否是后台然后做相应处理,在ios10以下都没什么问题到10的时候出问

iOS开发三步搞定百度推送

iOS开发三步搞定百度推送 百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_sdk_for_ios  在这里下载iOS端SDK包,如下图: 把SDK包里面的下图文件夹拖到你的工程中,如下图,第一步就这么简单. 步骤二: 在工程中AppDelegate.m中的- (BOOL)application:(UIApplication *)application didFinishLaun

app运营:如何制定消息推送策略?

app运营:如何制定消息推送策略? 今天,在队内,我做了一次关于app消息推送策略设计的分享,在这里整理出来,也算一个知识梳理过程,供各位批评指正. 很多app设计者总是很贪婪,想要攫取用户的眼球,于是就不停地通知,还有一些app本身很nice,却因为那些没完没了的通知变得让人讨厌.如何打磨一个好的app消息推送策略,对一个app的体验而已至关重要. 在一个移动操作系统的生态中,app可以实现一个功能,叫做消息推送,即通知(push).通知是能够起到提醒或者唤醒用户的作用的,也是app运营最优质