私のアプリの機能を紹介させてください、私はプッシュ通知とアドレス帳と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 に変更しようとしましたが、それでも同じエラーです。何が起こっているのかは、解放されたオブジェクトを参照しているためだと思います。しかし、デバッガーでは、値があることがわかります。