私はiOS6を使用していますが、この番号にダイヤルできません: *222*20#
これ
が私のコードです:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:*222*20#"]]];
上記のスクリプトを実行しても何も起こりませんか?
それとも、ダイヤル番号に制限があるのでしょうか?!
私はiOS6を使用していますが、この番号にダイヤルできません: *222*20#
これ
が私のコードです:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:*222*20#"]]];
上記のスクリプトを実行しても何も起こりませんか?
それとも、ダイヤル番号に制限があるのでしょうか?!
これは、番号に*
とが含まれているため#
です。
ユーザーが悪意を持って電話をリダイレクトしたり、電話やアカウントの動作を変更したりするのを防ぐために、電話アプリケーションは、telスキームのすべてではありませんがほとんどの特殊文字をサポートします。具体的には、URLに*または#文字が含まれている場合、電話アプリケーションは対応する電話番号にダイヤルしようとしません。 アプリケーションがユーザーまたは不明なソースからURL文字列を受信する場合は、URLに適切でない可能性のある特殊文字が適切にエスケープされていることも確認する必要があります。ネイティブアプリケーションの場合、NSStringのstringByAddingPercentEscapesUsingEncoding:メソッドを使用して文字をエスケープします。これにより、元の文字列の適切にエスケープされたバージョンが返されます。
詳細については、 iPhoneURLSchemeを確認してください。