赞
踩
相信每一个开发app的程序员都做过相关需求,就是app通过本地,远程通知或者其他App通过OpenUrl启动时,要求区分启动APP具体是哪种操作启动的。
不管用什么操作,APP启动都要走下面这个方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个方法当应用程序启动时执行,只在应用程序启动时执行一次,application参数用来获取应用程序的状态、变量等。另外一个参数launchOptions则是存粗应用程序启动的原因。
如果用户直接启动应用程序,这个参数是没有内容的。
如果是由其他app通过OpenURL启动的,则UIApplicationLaunchOptionsURLKey 对应的对象为NSURL类的url对象,UIApplicationLaunchOptionsSourceAppplicationKey对应启动源程序的Bundle ID;
如果是本地通知启动,则UIApplicationLaunchOptionsLocalNotificationKey对应的是为启动应用程序的的本地通知对象(UILocalNotification);
如果是远程通知启动,则UIApplicationLaunchOptionsRemoteNotificationKey对应的是启动应用程序的的远程通知信息userInfo(NSDictionary);
如果在启动时,需要做一些区分,可以这个函数下面根据需求做具体的处理
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。