从通知打开应用程序时显示特定选项卡

Show specific tab when opening the app from notification

我在一个项目中使用Quickblox聊天系统。

用户收到新消息时会收到推送通知。

如果用户从聊天推送通知打开它,我希望应用程序显示特定选项卡。

我应该使用 didFinishLaunchingWithOptions 委托来实现这个目的还是如何实现这个目的?

是的,你是对的。

如果您的应用未启动(甚至未在后台暂停),launchOptions 将包含通知负载(键 UIApplicationLaunchOptionsRemoteNotificationKey)。

为什么不在您的推送消息中嵌入一个深度 link,然后创建一个简单的路由来在您的应用程序中导航。 例如

{
    "aps": 
    {
        "alert": "Message received from Bob"
    }
    "view": "tabs/tab1/vcs/chatVC"
 }

你可以在 2 个地方处理它

//When the application is truly not loaded
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSDictionary *dict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    return YES;
}
//Active or background
-(void)application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionary *)userInfo
{

}