关于didFinishLaunchingWithOptions参数的中的launchOptions这个参数

相信每一个开发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);

如果在启动时,需要做一些区分,可以这个函数下面根据需求做具体的处理


你可能感兴趣的:(笔记,学习)