从推送通知打开应用程序时,如何进入某个视图?

时间:2013-07-12 09:49:27

标签: iphone ios push-notification presentmodalviewcontroller

从推送通知打开应用程序时,如何进入某个视图?我正在使用故事板。我有一些观点推动,一些是模态的。我需要从应用程序的任何位置转到某个视图。此视图由视图推送,该视图通常只能从推送此视图的设置类型页面进行访问。

2 个答案:

答案 0 :(得分:2)

您可以在Notification Payload中添加额外的参数。在推送通知编程指南部分The Notification Payload中,它说明了

  

提供者可以在Apple保留的aps命名空间之外指定自定义有效负载值。自定义值必须使用JSON结构化和原始类型:字典(对象),数组,字符串,数字和布尔值。您不应将客户信息包含为自定义有效负载数据。相反,将其用于设置上下文(用于用户界面)或内部指标等目的。例如,自定义有效负载值可以是由即时消息客户端应用程序使用的对话标识符,或者是标识提供者何时发送通知的时间戳。与警报消息关联的任何操作都不应具有破坏性 - 例如,删除设备上的数据。

您可以在AppDelegate函数application:willFinishLaunchingWithOptions:

中读取此参数

在那里你可以重新创建UINavigationController实例。

答案 1 :(得分:2)

如果您的应用在后台运行。在这种情况下。

当从方法调用下方的推送通知打开应用程序时。

-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

使用userInfo,您可以设置推送视图的方式。 假设我不想第一个依赖于pushNotification的视图在这种情况下我将在APNS有效负载中添加一个值,如 view:firstView (可能是你的类名)并使用 userinfo ( NSDictionary )您可以导航或推送到特定视图。 在这种情况下,您的APNS有效负载将是这样的

{“aps”:{“alert”:“您的消息”,“声音”:“值”,“徽章”:1},“ViewName”:“value”}