0

私はiOS6を使用していますが、この番号にダイヤルできません: *222*20#

これ が私のコードです:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:*222*20#"]]];

上記のスクリプトを実行しても何も起こりませんか?
それとも、ダイヤル番号に制限があるのでしょうか?!

4

1 に答える 1

6

これは、番号に*とが含まれているため#です。

ユーザーが悪意を持って電話をリダイレクトしたり、電話やアカウントの動作を変更したりするのを防ぐために、電話アプリケーションは、telスキームのすべてではありませんがほとんどの特殊文字をサポートします。具体的には、URLに*または#文字が含まれている場合、電話アプリケーションは対応する電話番号にダイヤルしようとしません。 アプリケーションがユーザーまたは不明なソースからURL文字列を受信する場合は、URLに適切でない可能性のある特殊文字が適切にエスケープされていることも確認する必要があります。ネイティブアプリケーションの場合、NSStringのstringByAddingPercentEscapesUsingEncoding:メソッドを使用して文字をエスケープします。これにより、元の文字列の適切にエスケープされたバージョンが返されます。

詳細については、 iPhoneURLSchemeを確認してください。

于 2013-01-17T10:53:45.910 に答える