1

私のアプリの機能を紹介させてください、私はプッシュ通知とアドレス帳とCoreTelephonyフレームワークを使用しています。

私がアプリケーションで行っていることは、プッシュ通知を受け取ったら、ペイロードから番号を Appdelegate 変数 (Incoming_NO) に保存することです。この番号のような連絡先がない場合は、新しい連絡先を作成して保存します。通話を受信すると、以前に追加したのと同じ連絡先名が表示されます。後で、ユーザーが連絡先を保存または削除したい場合は、連絡先を編集できるようにしています。連絡先を編集したとき、後でプッシュを受信したとき同じ番号の通知 (Incoming_NO) へのexc_bad_accessを取得しています ゾンビを有効にしましたが、同じ場所でブレークポイント エラーが発生しました ..

何が問題なのか誰でも助けてくれますか。

    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) については、連絡先を保存した後にプッシュ通知を受信するとエラーが発生します。

incoming_Number型を NSString と NSMutableString に変更しようとしましたが、それでも同じエラーです。何が起こっているのかは、解放されたオブジェクトを参照しているためだと思います。しかし、デバッガーでは、値があることがわかります。

4

0 に答える 0