でチェックしています
- (void)applicationWillEnterForeground:(UIApplication *)application
アプリに戻ったとき。
しかし、これはユーザーがいつ電話を断ったかを検出しません。ユーザーが通話を拒否した場合でも検出する方法はありますか?
でチェックしています
- (void)applicationWillEnterForeground:(UIApplication *)application
アプリに戻ったとき。
しかし、これはユーザーがいつ電話を断ったかを検出しません。ユーザーが通話を拒否した場合でも検出する方法はありますか?
おそらく、次の通知を使用できます。あなたの場合、2番目の通知です。
CoreTelephony.framework
プロジェクトに追加して、次のことを行います。
#import <CoreTelephony/CTCall.h>
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callReceived:) name:CTCallStateIncoming object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil];
あなたが望むのは、アプリがアクティブな状態に戻ったときを検出することだと思います。これには 2 つのデリゲート メソッドがあります。
applicationWillEnterForeground: アプリケーションがフォアグラウンドに入ろうとしていることをデリゲートに伝えます。
- (void)applicationWillEnterForeground:(UIApplication *)application
と
applicationDidBecomeActive: アプリケーションがアクティブになったことをデリゲートに伝えます。
- (void)applicationDidBecomeActive:(UIApplication *)application
UIApplicationDelegateのドキュメントの詳細
通話がいつ拒否されたかを知る方法はありません。ただし、このメソッドは、ユーザーが電話を受けると呼び出されます。
- (void)applicationWillResignActive:(UIApplication *)application {
}