2017-02-20 17 views
0

着信コールをプログラムで迅速に拒否する方法はありますか。私のコードはこのようになります:IOSコールはプログラムによって着信を拒否しますか。

self.callCenter.callEventHandler = {(_ call: CTCall) -> Void in 
      if call.callState == CTCallStateDisconnected { 
       print("Call has been disconnected") 
      } 
      else if call.callState == CTCallStateConnected { 
       print("Call has just been connected") 
      } 
      else if call.callState == CTCallStateIncoming { 
       print("Call is incoming") 
       } 
      else { 
       print("None of the conditions") 
      } 

私はこのように着信呼の状態を検出しています。しかし、私はどのように私はcallstateCTCAllの変更することができますか分からない。私を助けてください !。

+6

これを行う方法はありません。少なくとも非jailbrokenデバイスの場合。 –

+0

ここにobjective-cコードがあります: – bilaldogan

+1

このコードは、電話がかけられているかどうかを知らせます。ステータスを変更することはできません。 Appleがアプリを許可した場合に起こることを想像してみると、人々は電話を切ることによって電話を基本的に麻痺させる悪意のあるアプリを作成するだろう。 (常に、そのようなアプリがApple Review and App Processの監視犬を過ぎると仮定すると、彼らは無限の時間の間、バックグラウンドで動くことができます)。答えは** NO **です。 – NSNoob

答えて

0
#import <CoreTelephony/CTCall.h> 
#import <CoreTelephony/CTCallCenter.h> 
#import <CoreTelephony/CTCarrier.h> 
#import <CoreTelephony/CTTelephonyNetworkInfo.h> 

@interface MMCallNotificationManager() 
@property (nonatomic, strong) CTCallCenter *callCenter; 
@property (nonatomic) BOOL callWasStarted; 
@end 

@implementation MMCallNotificationManager 

- (instancetype)init 
{ 
    self = [super init]; 

    if (self) { 

     self.callCenter = [[CTCallCenter alloc] init]; 
     self.callWasStarted = NO; 

     __weak __typeof__(self) weakSelf = self; 

     [self.callCenter setCallEventHandler:^(CTCall *call) { 

      if ([[call callState] isEqual:CTCallStateIncoming] || 
       [[call callState] isEqual:CTCallStateDialing]) { 

       if (weakSelf.callWasStarted == NO) { 

        weakSelf.callWasStarted = YES; 

        NSLog(@"Call was started."); 
       } 

      } else if ([[call callState] isEqual:CTCallStateDisconnected]) { 

       if (weakSelf.callWasStarted == YES) 
       { 
        weakSelf.callWasStarted = NO; 

        NSLog(@"Call was ended."); 
       } 
      } 
     }]; 
    } 

    return self; 
} 

@end 
+1

これはコール状態をまったく変更しません。 –

+0

もう一度、これは電話が通話中であるかどうかを伝えます。電話を切断することはできません。 – NSNoob

+0

着信中にアプリケーションを再開する方法はありますか。私はビデオ通話アプリを作ろうとしています。着信中に接続が切断されないようにします。 – bilaldogan

関連する問題