我的 iOS 应用程序在运行时收到推送通知消息时崩溃。我正在使用沙盒 APNS 环境,并使用 Amazon SNS 发送 APNS 消息。
调试时,我在以下代码片段的第一行设置了一个断点:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSDictionary *apnsPayload = [NSDictionary dictionaryWithDictionary:userInfo];
当应用程序收到推送通知时,它会触发断点并让我进行调试;此时我可以看到它userInfo
不是零并且包含预期的字典。
但是,当我单步执行代码时,应用程序EXC_BAD_ACCESS
在下一行崩溃——分配给apnsPayload
. 似乎userInfo
可能会过早地被释放,但我不确定为什么,或者更重要的是如何改变它。