3

クリックすると、ユーザーに電話をかけるように求めるビューがあります。以下のコードを使用しようとしています。

     NSString *phoneNumber = [@"tel://" stringByAppendingString:locPhone];
    NSString *phoneString = [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@"(" withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@")" withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@"-" withString:@""];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneString]];

コードに到達し、「phoneString」の最終的な値が 10 桁の電話番号であることはわかっています。エラーはありませんが、何も起こりません。私は何が欠けていますか?

編集: canOpenURL が NO を返すことがわかりました。これは、シミュレーターで実行しているからですか?

4

1 に答える 1

2

コードは正しいようですが、シミュレーターは電話をシミュレートできないことに注意してください(canOpenURLシミュレーターでテストすると戻りNOます)。

実際のデバイスでコードをテストする必要があります。おそらく、期待どおりに機能することがわかります。

ちなみに、canOpenURLユーザーはアプリケーションをiPodデバイスなどまたはiPadで実行でき、どちらも電話をかけることができないため、実際にはアプリケーションにテストを追加し、その場合はユーザーにアラートを表示する必要があります。

于 2012-10-08T17:46:33.053 に答える