1

让我介绍一下我的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,仍然是同样的错误,我猜发生的事情是我指的是释放的对象。但在调试器中我可以看到它具有价值。

4

0 回答 0