2012-11-09 39 views

回答

4

它会自动打开应用程序。苹果为我们做的东西。我们不需要编写任何代码来打开应用程序。

+0

我们如何才能打开一个特定的视图控制器点击推送通知? – Rinku

+0

@Rinku:' - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions'当用户点击推送通知并打开应用程序时会调用,在那里您可以将ViewContrller设置为rootView或仅存在它从那里。 –

0

按下本地通知后,应用会自动启动。

+0

太棒了,但这是一个本地通知,而不是一个推送通知。有很大的区别:) –

+1

它也适用于推送通知。 – Apurv

+0

是吗?即使我正在实施并将第三方推送通知集成到我的应用程序中。如果手机被锁定,是否会在任何操作时打开通知或滑动图标? –

10

操作系统处理拍打通知时,因为它涉及的行为,如果它是由第三方或发送并不重要,如果它正在经历APNS,它会打开应用程序和内部applicationDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    if (launchOptions != nil) { 
     // Launched from push notification 
     NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    } 
} 

如果应用程序发生时通知进来操作系统将火委托方法是已经打开:

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    // Do something 
} 
+5

其实不,只有当应用程序已经运行时才会调用该方法,否则您将在应用程序中获取推送有效内容:willFinishLaunchingWithOptions:和application:didFinishLaunchingWithOptions: –

+0

非常正确。良好的发现,我没有想过发布:) [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]是您可以从应用程序非运行状态启动时细读的字典。 –

+0

嗨菲利普,感谢您的澄清,所以无论应用程序是否打开,点击或刷卡推送通知确实打开关联的应用程序。对?。它就是这样,它根据App的状态调用不同的方法(OPEN/CLOSED/BACKGROUND)。 –

1

该应用程序会自动打开,但最后视图控制器你是如此。为了打开你期望的视图co ntroller只是执行应用程序:didReceiveRemoteNotification: 进一步说明here

相关问题