iOS アプリから電話をかける方法 (Swift)
ここでは、Swift で iOS アプリから電話をかける方法をご説明します。
今回は、Call Test というボタンをタップした時に、以下のように指定した電話番号に電話をかけるアプリを作ります。
電話をかける iOS アプリの準備をする
まずはテスト用にボタンをタップして、電話をかけるための、簡単な iOS アプリを作ります。
Xcode で [iOS] の [App] の新規プロジェクトを作成します。
デザインや場所などは適当で良いので、Main ストーリーボードの View Controller に Button をひとつ追加します。
そのボタンから、callTestTapped という名前で TouchUpInside のアクションを作っておきます。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func callTestTapped(_ sender: Any) {
}
}
ボタンの追加の方法や、アクションの作り方がわからない方は「基本的な iOS アプリの作り方」をご覧ください。
Swift で iOS アプリから電話をかける方法
それでは、Swift で iOS アプリから電話をかけるコードを書いていきましょう。
先ほど、作った ViewController.swift の callTestTapped() を次のように変更します。
@IBAction func callTestTapped(_ sender: Any) {
let phoneNumber = "+81351598200"
guard let url = URL(string: "tel://" + phoneNumber) else { return }
UIApplication.shared.open(url)
}
2 行目で定義した phoneNumber に電話をかけます。値は +81-3-5159-8200 のようにハイフンが入っていても大丈夫です。
3 行目では、tel:// を指定して、電話をかけるための URL を生成しています。guard let で生成に失敗したら return するようにしています。
4 行目で UIApplication.shared.open() メソッドに、生成した url を渡して、電話をかけるアプリを起動しています。
インストールされるデバイスに tel:// をハンドルできるアプリが存在している前提です。
Swift で iOS アプリから電話をかけるコードはこれだけです。
info.plist に、アクセス許可などを追加する必要はありません。
iOS アプリを iPhone にインストールしてテストする
電話をかけるテストはシミュレーターでできないので、電話がかけられる iPhone にインストールしてテストします。
作った iOS アプリを iPhone にインストールする方法がわからない方は「Xcode からアプリを iPhone にインストールして実行する方法」をご覧ください。
iPhone を指定してこのアプリを実行すると、以下のような画面が表示されます。
Call Test ボタンをクリックすると、電話する確認ダイアログが出てきます。
Call +81 3 5159 8200 のほうをタップすると、電話がかかります。
以上、Swift で iOS アプリから電話をかける方法をご説明しました。