일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- iOS Charts
- swift 연속된 부분 수열의 합
- 연속된 부분 수열의 합 swift
- swift dfs
- 1 2 3 더하기 풀이
- swift 백준 9095
- 백준 2xn 타일링
- swift
- swift 연속된 부분 수열의 합 풀이
- ac swift 풀이
- swift ac 풀이
- swift 2xn 타일링 백준
- 연속된 부분 수열의 합 투포인터
- ios
- MVVM
- rxswift
- swift 2xn 타일링
- swift ac
- swift 2xn 타일링 풀이
- swift algorithm
- swift ac 문제풀이
- 123 더하기 풀이
- ac 구현 풀이
- ac 투포인터
- swift gRPC
- swift 알고리즘
- 백준 2xn 타일링 풀이
- swift codility
- swift 프로그래머스
- swift 9095 풀이
- Today
- Total
boraBong
[iOS] Swift를 사용하여 카카오톡 앱을 실행하는 방법 📲 (URLScheme) 본문
안녕하세요ㅎㅅㅎ
보라봉입니다💜
오늘은 swift를 사용하여 iOS 디바이스에서 카카오톡 앱을 실행시키는 기능을 공부해 볼 거에요!!
📚 알아야 할 기능
- URLScheme
1️⃣ URLScheme
iOS에서는 URLScheme을 사용해서 URL을 통해 다른 앱과 연결할 수 있어요.
< URLScheme을 사용하는 과정 >
1. 먼저 URLScheme 문자열을 통해 URL 인스턴스를 만들어 줍니다.
2. 그 다음 canOpenURL(_:) 메소드를 통해서 URL 체계를 처리하는 데 앱을 사용할 수 있는지 여부를 확인합니다.
3. 만약 사용가능한 URLScheme이라면 open(_:options:completionHandler:) 메소드를 호출해서 다른 앱을 열게 됩니다.
func canOpenURL(_ url: URL) -> Bool
https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl
func open(_ url: URL,
options: [UIApplication.OpenExternalURLOptionsKey : Any] = [:],
completionHandler completion: ((Bool) -> Void)? = nil)
https://developer.apple.com/documentation/uikit/uiapplication/1648685-open
☆ 본격적으로 시작하기 전에 !
iOS에서 카카오톡 앱을 실행하기 위해서는 주의해야 할 사항이 있어요
✅XCode 시뮬레이터에서는 실행되지 않습니다. 반드시 iOS디바이스와 연결해서 테스트해주세요!
📌 info.plist에서 Information Property List 옆의 +버튼을 눌러서 LSApplicationQueriesSchemes를 치고 Enter를 눌러 추가해주세요!
📌LSApplicationQueriesSchemes의 타입을 Array로 변경해주세요
📌옆의 +버튼을 눌러서 Item0을 만들고, Item0의 Value는 kakaotalk으로 설정해주세요!
📲 iOS 디바이스에서 카카오톡 앱 실행하기
클릭 이벤트 시 카카오톡 앱을 실행하도록
버튼 IBAction 내에 카카오톡 앱 실행 행동을 정의해주었습니다.
@IBAction func touchUpToConnectKakaotalk(_ sender: UIButton) {
//URLScheme 문자열 "kakaotalk://"을 통해
let kakaoTalk = "kakaotalk://"
//URL 인스턴스를 만들어 주는 단계
let kakaoTalkURL = NSURL(string: kakaoTalk)
//canOpenURL(_:) 메소드를 통해서 URL 체계를 처리하는 데 앱을 사용할 수 있는지 여부를 확인
if (UIApplication.shared.canOpenURL(kakaoTalkURL! as URL)) {
//open(_:options:completionHandler:) 메소드를 호출해서 카카오톡 앱 열기
UIApplication.shared.open(kakaoTalkURL! as URL)
}
//사용 불가능한 URLScheme일 때(카카오톡이 설치되지 않았을 경우)
else {
print("No kakaotalk installed.")
}
}
1. URLScheme 문자열 "kakaotalk://"을 통해 URL 인스턴스 만들기
2. canOpenURL(_:) 메소드를 통해서 URL 체계를 처리하는 데 앱을 사용할 수 있는지 여부를 확인
3. 사용가능한 URLScheme이라면 open(_:options:completionHandler:) 메소드를 호출해서 카카오톡 실행
4. 사용불가능한 URLScheme이라면(카카오톡이 설치되지 않았다면) print로 실행불가능한 상황임을 확인할 수 있는 로그를 출력
📲 iOS 디바이스에서 카카오톡 앱 실행하기 구동영상
<전체 코드>
//
// ViewController.swift
// KakaoAppConnectPractice
//
// Created by 황지은 on 2021/04/10.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func touchUpToConnectKakaotalk(_ sender: UIButton) {
let kakaoTalk = "kakaotalk://"
let kakaoTalkURL = NSURL(string: kakaoTalk)
if (UIApplication.shared.canOpenURL(kakaoTalkURL! as URL)) {
UIApplication.shared.open(kakaoTalkURL! as URL)
}
else {
print("No kakaotalk installed.")
}
}
}
https://github.com/hwangJi-dev/iOS-Practice/tree/master/KakaoAppConnectPractice
오늘은 이렇게 아이폰에서 카톡 열기 기능에 대해서 공부를 해봤습니다 :)
여러분들께 유익한 정보가 되었으면 좋겠네요 ㅎㅎ
도움이 되셨다면 공감 눌러주세용!ㅎㅎ
'iOS > Feat' 카테고리의 다른 글
[iOS] Swift에서 디바이스 방향 세로모드로 고정하기(portrait)📱 (0) | 2021.04.12 |
---|---|
[iOS] UIScreen Swift에서 디바이스 사이즈 인식하기(UIScreen Size)📱 (0) | 2021.04.10 |
[iOS] Charts 라이브러리로 막대그래프 라운드 커스텀하기📊 "How to make Round BarChart in Charts?" (0) | 2021.02.10 |
[iOS] Swift를 사용하여 iOS 디바이스에서 전화를 거는 방법 📞 (URLScheme) (3) | 2021.02.09 |
[iOS] Swift를 이용해서 iOS 디바이스에서 Email 보내기 📧 (5) | 2021.02.08 |