延庆网站建设优化seo,青海省建设银行网站,汕头建设,信托公司网站建设IOS的一大特点就是可以随时向客户端push相关的信息。那么在客户端收到这些信息时#xff0c;如何处理呢#xff1f; 有两种情景需要处理#xff0c; 一是#xff1a;从状态栏下拉#xff0c;点击通知栏里的一项#xff0c;启动应用 二是#xff1a;在锁屏界面#xff0… IOS的一大特点就是可以随时向客户端push相关的信息。那么在客户端收到这些信息时如何处理呢 有两种情景需要处理 一是从状态栏下拉点击通知栏里的一项启动应用 二是在锁屏界面滑动应用的图标解锁启动应用 处理push通知时涉及到UIAppDelegate的两个回调 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 使用场景如下 如果启动应用时应用没有在后台运行则使用第一个回调。 启动应用时应用已在后台运行则使用第二个回调。 具体用法如下 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{///其它处理// 以下是push处理if (launchOptions ! nil) {NSLog(LUN:%, launchOptions);// UIApplicationLaunchOptionsRemoteNotificationKey 这个key值就是push的信息NSDictionary *dic [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];// 为了复用代码统一到下面这个处理方法中handlePushNotify.[self handlePushNotify:dic];}
}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {if (application.applicationState ! UIApplicationStateActive) { // 一般在应用运行状态下不做处理或做特殊处理[self handlePushNotify:userInfo];}
}// 自己写的一个方法用于统一处理通过push通知启动的情况
- (void)handlePushNotify:(NSDictionary *)info {// 处理 info 吧。。。
} 转载于:https://www.cnblogs.com/zsw-1993/p/4879558.html