Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift로 iOS 앱에서 전화 걸기 기능 구현하는 방법

이번 글에서는 Swift를 사용해 iOS 앱에서 프로그래밍 방식으로 전화를 거는 방법을 단계별로 알아보겠습니다. 생각보다 간단한 코드 몇 줄만으로 통화 기능을 구현할 수 있으니, 차근차근 따라와 보세요.

프로젝트 설정하기

1단계 – 새 프로젝트 생성

Xcode를 실행하고 New Project → Single View Application을 선택한 뒤, 프로젝트 이름을 "MakeCall"로 지정합니다.

2단계 – UI 구성

Main.storyboard 파일을 열고 아래 이미지처럼 텍스트 필드 하나와 버튼 하나를 화면에 배치합니다. 텍스트 필드에는 전화번호를 입력하고, 버튼을 눌러 통화를 시작하는 구조입니다.

Swift로 iOS 앱에서 전화 걸기 기능 구현하는 방법

코드 연결하기

3단계 – IBOutlet 생성

텍스트 필드에 대한 @IBOutlet을 생성하고 이름을 phoneNumberTextfield로 지정합니다.

4단계 – IBAction 생성

통화 버튼에 대한 @IBAction 메서드 callButtonClicked를 생성합니다.

5단계 – 전화 걸기 코드 작성

iOS에서 전화를 걸 때는 openURL 메서드를 활용할 수 있습니다. callButtonClicked 메서드 안에 아래 코드를 추가하세요.

if let url = URL(string: "tel://\(phoneNumberTextfield.text!)"),
UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

이 코드는 먼저 canOpenURL로 해당 URL(전화 스킴)을 열 수 있는지 확인한 후, 가능하면 실제로 전화 앱을 호출합니다. 잘못된 번호 형식이나 지원하지 않는 기기에서의 오류를 방지할 수 있어 안전한 방식입니다.

앱 실행 및 테스트

6단계 – 번호 입력

앱을 실행하고 아래 사진처럼 통화를 걸고 싶은 전화번호를 텍스트 필드에 입력합니다.

Swift로 iOS 앱에서 전화 걸기 기능 구현하는 방법

7단계 – 확인 알림창 표시

통화 버튼을 클릭하면 '통화(Call)'와 '취소(Cancel)' 옵션이 포함된 알림창이 나타납니다. 사용자가 실수로 통화를 거는 것을 막아주는 안전장치입니다.

Swift로 iOS 앱에서 전화 걸기 기능 구현하는 방법

8단계 – 통화 연결

알림창에서 통화 버튼을 다시 누르면 입력한 번호로 실제 전화가 걸리게 됩니다.

Swift로 iOS 앱에서 전화 걸기 기능 구현하는 방법

마무리

이렇게 tel:// 스킴과 openURL 메서드만 활용하면 별도의 외부 라이브러리 없이도 iOS 앱에서 간편하게 전화 걸기 기능을 구현할 수 있습니다. 참고로 이 기능은 시뮬레이터에서는 동작하지 않으므로, 반드시 실제 iPhone 기기에서 테스트해야 한다는 점을 기억하세요.