2

CTCallCenter には、電話がかかってきても応答しないと電話がクラッシュするという大きな問題があります。その後、音楽が戻ってくるはずですが、代わりにすべてが死んでしまいます。

コードは次のようになります。

_callCenter = [[CTCallCenter alloc] init];
_callCenter.callEventHandler = ^(CTCall* call){

    if (call.callState == CTCallStateDialing || call.callState==CTCallStateIncoming) { 
        _shouldResumeSongIfConnectionIsAlive=NO;

        if([[TFAudioPlayer sharedAudioPlayer] status]==TFAudioPlayerStatusPlaying){
            [[TFAudioPlayer sharedAudioPlayer] pause];
            isAppWasPlaying=YES;

        }else isAppWasPlaying=NO;

    }else if(call.callState==CTCallStateDisconnected){

        if(isAppWasPlaying){
            [[TFAudioPlayer sharedAudioPlayer] playForcedFromWhereItStopped];
            _shouldResumeSongIfConnectionIsAlive=YES;
        }
    }
};

ユーザーが電話を取らない場合を処理する方法が見つかりません。CTCallCenter には、私が見ることができる着信、切断、接続、およびダイヤルのみがあります。

誰も手がかりを持っていますか?

編集:

この問題は、接続されておらずデバッグ中の電話でアプリを実行した場合にのみ発生します。相手が電話を切る (不在着信) と、アプリは直接終了します。

スタックトレース:

Date/Time:       2012-11-19 14:20:47.470 +0100
OS Version:      iPhone OS 5.1 (9B179)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xbbadbeef
Crashed Thread:  10

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x356bb004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x356bb1fa mach_msg + 50
2   CoreFoundation                  0x372203ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x3721f0ea __CFRunLoopRun + 818
4   CoreFoundation                  0x371a249e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x371a2366 CFRunLoopRunInMode + 98
6   GraphicsServices                0x320af432 GSEventRunModal + 130
7   UIKit                           0x33926e76 UIApplicationMain + 1074
8   My App                          0x0001e63c 0x1a000 + 17980
9   My App                          0x0001c268 0x1a000 + 8808

また!DEPLOY POSTPROCESSING = YES でアプリを実行すると、クラッシュしません。理解できません

4

0 に答える 0