让我介绍一下我的App功能,我使用推送通知和地址簿和CoreTelephony
框架。
我在我的应用程序中所做的是,当我收到推送通知时,我将 Payload 中的号码保存在 Appdelegate 变量(Incoming_NO)中,如果没有此号码的此类联系人,我将创建新联系人并保存它。当我接到电话时,会出现与我之前添加的相同的联系人姓名,稍后我允许用户编辑联系人,如果他想保存或删除联系人,当他编辑联系人时,然后当我收到推送时具有相同编号的通知我得到了exc_bad_access (Incoming_NO) 我启用了 Zombie 并且我在同一个地方遇到了断点错误..
任何人都可以帮我解决什么问题。
Received notification: {
aps = {
alert = "Please help me-+918884718240";
sound = "beep.caf";
};
}
代码 :
NSString* alertValue = [[userInfo valueForKey:@"aps"] valueForKey:@"alert"];
NSRange range=[alertValue rangeOfString:@":"];
NSString *param,*msg;
NSRange range1=[alertValue rangeOfString:@":"];
if (range1.location != NSNotFound)
{
param = [alertValue substringFromIndex:range1.location + range1.length];
msg=[alertValue substringToIndex:range.location + range.length-1];
}
else
{
range1=[alertValue rangeOfString:@"-"];
if (range1.location != NSNotFound)
{
param = [alertValue substringFromIndex:range1.location + range1.length];
msg=[alertValue substringToIndex:range1.location + range1.length-1];
}
}
if(range.length!=0)
{
parts= [NSMutableArray arrayWithArray:[alertValue componentsSeparatedByString:@":"]];
}else
{
parts = [NSMutableArray arrayWithArray:[alertValue componentsSeparatedByString:@"-"]];
}
incoming_Number =[parts objectAtIndex:1];
对于此变量(传入_编号),我在保存联系人后收到推送通知时收到错误消息。
我试图将incoming_Number类型更改为NSString 和NSMutableString,仍然是同样的错误,我猜发生的事情是我指的是释放的对象。但在调试器中我可以看到它具有价值。