0

こんにちは、ユーザーがボタンをクリックすると、実際の iPhone 電話アプリが開きます。

これを行う方法に関するアイデアやチュートリアルはありますか?

4

4 に答える 4

7

以下のこの行で簡単に電話をかけることができます。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:12125551212"]];
于 2012-08-31T16:49:06.477 に答える
0

電話アプリケーションだけを開いて手動で番号を入力することはできません。アプリケーションから電話をかける前に提案したように、デフォルトの電話呼び出し画面が開き、その呼び出しが完了すると、アプリケーションにリダイレクトされます。

于 2012-08-31T18:33:55.840 に答える
0

追加するだけで(同じ回答をもう一度コピーして貼り付けるだけではありません!)、電話番号にスペースが含まれている場合、このコード行は黙って失敗します。

そのため、電話アプリが +41 44 123 4567 にダイヤルしていると言ったとしても、コードで次の行を使用しようとしても、何も起こりません。これは電話番号として認識されません。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:+41 44 123 4567"]];

そのため、スペースをすべて取り除いてから、電話アプリに番号をダイヤルさせる必要があります。その時点で、電話番号が表示されるときに独自のスペースが電話番号に追加されます!!

私が使用したコードは次のとおりです (電話番号は現在、UILabel呼び出された lblPhone に表示されています)。

 NSString* phoneNumber = [self.lblPhone.text stringByReplacingOccurrencesOfString:@" " withString:@""];

 NSString* actionStr = [NSString stringWithFormat:@"telprompt:%@", phoneNumber];

 UIDevice *device = [UIDevice currentDevice];
 if ([[device model] isEqualToString:@"iPhone"] ) {
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:actionStr]];
 } 

このコードは、iPad でアプリを実行しているかどうかも確認します。もしそうなら、私たちは番号をダイヤルしようとはしません.

また、このスレッドの回答が示唆するように、 2 つの利点があるのではtelprompt:なく、私が使用したことがわかります 。tel:

まず、小さなダイアログを表示して、ユーザーが本当にその電話番号に電話をかけたいかどうかを確認します。

良い

次に、ユーザーがこの番号への通話を終了すると (そして電話を切ると)、アプリに戻ります。奇妙なことに、 usingはこれをtel:行いません。

(XCode 5 & iOS 7.1 でテスト済み)

于 2014-04-24T09:44:19.060 に答える
-3
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:<You button title as phone number>"]];
于 2012-08-31T17:43:14.577 に答える