URL 스키마

2014-11-13
9 Views

iOS에서 URL스키마를 이용하는 방법을 소개합니다.

URL 스키마(scheme)는 인터넷 리소스 위치를 나타내는 URI시작부분을 리소스에 도달하기 위한 수단을 말합니다.

 

사용방법

URL 스키마에서 앱을 실행하기 위해서는 아래와 같이 UIApplication클래스의 openURL() 메소드를 사용합니다.

[swift]

if let URL=NSURL(string:"<URL스키마>:") {

UIApplication.sharedApplication().openURL(url)

}

[/swift]

URL스키마 다음에 “:”을 추가하고 내용을 입력하면 되는데 내용에 따라 URL에 지정된 앱으로 이동하게 됩니다. 그외 지원하지 않는 URL이면 아무런 동작이 일어나지 않습니다.

공개된 URL스키마

이메일, 전화, FaceTime, SMS, 지도, iTunes, YouTube (현재까지 7가지 지원함)

이메일

메일 URL스키마는 mailto 입니다. 메일앱이 실행되며 대상, 제목, 내용을 지정할 수 있습니다.

[swift]

let URL = NSURL(string: "mailto:test@test.com?subject=title&body=contents")

[/swift]

한국어 내용등을 추가하려면 URL인코딩해야 합니다.

[swift]
let body = "안녕하세요!"
if let encBody = body.stringByAddingPercentEncodingWithAllowedCharacters(NSCharactersSet.alphanumericCharacterSet()) {
if let url = NSURL(string: "mailto:test@test.com?subject=test&body=(encBody)") {
UIApplication.sharedApplication().openURL(url)
}
}
[/swift]

전화

전화 URL스키마는 tel 입니다. 전화 앱이 실행됩니다.

[swift]

let url = NSURL(string: "tel:0100000000")

[/swift]

Facetime

Facetime URL 스키마는 facetime 입니다. Facetime 랩이 실행됩니다.

[swift]

let url = NSURL(string: "facetime:test@test.com")

[/swift]

SMS

SMS URL스키마는 sms입니다. 메시지 앱이 실행됩니다. 단, 대상은 지정할 수 있지만, 내용은 지정할 수 없습니다. 내용까지 보내려면 MessageUI Framework를 사용해야 합니다.

[swift]

let url = NSURL(string: "sms:01011112222")

[/swift]

지도

지도 URL스키마는 http 입니다. 지도 앱이 실행되고 도메인은 maps.apple.com을 지정해야 하고, 위도,경도를 지정할 수 있습니다.

[swift]

let url = NSURL(string: "http://maps.apple.com/?q=seoul")

[/swift]

[swift]

let url = NSURL(string: "http://maps.apple.com/?ll=37.5616073,126.8997239")

[/swift]

iTunes

iTunes URL 스키마는 http 입니다. iTunes Store 랩이 실행됩니다. 단, URL은 iTunes Link Maker로 만들어 지정해야 합니다.

[swift]

let url = NSURL(string: "http://itunes.apple.com/kr/app/seutabeogseukadeu/id466682252?mt=8&uo=4")

[/swift]

Youtube

Youtube URL스키마는 http입니다. 유튜브 랩이 실행됩니다.

[swift]

let url = NSURL(string: "http://www.youtube.com/watch?v=EbH3HJvh2N0")

[/swift]

 

 

 

Facebook Comments

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…