2017-06-07 15 views
1

で使用しているときのデフォルトアラートの処理方法これを実行した後、2つのボタンを押して警告し、キャンセルします。 通話ボタンはダイヤラパッドにナビゲートし、問題のない通話を発信します。しかし、私はキャンセルボタンのクリックで何らかのアクションを実行したい。OpenUrlをtel:// 2373829239

ここに私のコードです。私は答えを得た上記のコメントから

enter image description here

NSString *urlString = [NSString stringWithFormat:@"tel:123"]; 
NSString *escaped = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]]; 
+0

あなたは避けることはできません。 –

+0

キャンセルボタンイベントで何らかの操作を実行したいと思います。 –

+0

'' tel://'の代わりに '' telprompt:// 1234567890 "'を使ってみましたか?完了ブロックはキャンセル時にfalseを返します... – DonMag

答えて

0

。 // iPhone用:

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",phoneNumber]]]) 
     { 

      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",phoneNumber]] options:@{} completionHandler:^(BOOL success) 
      { 
       { 
        if (success) 
        { 
         NSLog(@"inside call clikced"); 
        } 
        else 
        { 
         NSLog(@"inside cancel clicked"); 
        } 
       } 
      }]; 
     } 


    // For iPad use this: 


CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; 
    CTCarrier *carrier1 = [info subscriberCellularProvider]; 

    if (carrier1.mobileCountryCode.length == 0 || carrier1.mobileCountryCode.length == nil) 
{ 
// false for iPad Air 2(which doesn't have cellular Provider) 
}