Archive/잡동사니

[iOS] TmapAPI Swift 사용법 정리 🚙

lgvv 2022. 1. 17. 00:24

✅ 이번 시간에는 TmapAPI 사용방법에 대해서 간단히 알아볼 예정이야.

TampAPI를 통해서 앱을 여는 것까지 알아보고 그 이후에 들어가야하는 메소드들은 공식문서에 정말 잘 정리되어 있으니까 찾아보기를 바래!

 

✅ Tmap API 발급을 위한 공식 사이트.

http://tmapapi.sktelecom.com/index.html

 

Guide | T MAP API

 

tmapapi.sktelecom.com

 

✅ TmapAPI 발급을 위해서는 우선 공식 사이트에 들어가서 API 발급받기!

 

My Project로!!

우선 공식 사이트로 들어가서 My Project를 클릭해서 TmapAPI를 발급받으면 돼

그럼 이후에 API Document로 이동해서 한번 같이 보도록 하자.

 

http://tmapapi.sktelecom.com/

 

Guide | T MAP API

 

tmapapi.sktelecom.com

여기로 들어가서 API 문서를 확인하면 돼.

iOS 누르기!

여기서 문서를 확인할 수 있는데, 이후로는 Guide를 따라서 하면 쉽게 적용할 수 있어.

 

❗️다만 주의할점.. 내가 바로 이 글을 굳이 쓰는 이유가 되었기도 한데,,,

여기에도 추가해주어야 합니다.

프레임워크에만 추가하는 것이 아니라 파일 안에 직접 폴더에도 추가해주어야 사용할 수 있다는 사실!

ㅠㅠ 이걸 몰라서 왜 프레임워크에 추가했는데 안되지..? 하면서 엄청나게 헤맨것을 생각하니 ㅠㅠ 이게 이 글의 전부야 정말...

 

❗️그리고..! 하나 더 아래와 같은 에러가 발생할 수있는데, 그럴때는 저 부분을 YES로 바꿔주면 돼.

Building for iOS Simulator, but the linked and embedded framework '*.framework' was built for iOS + iOS Simulator

에러 대응법

 

 

✅ 그렇다면 지금부터는 코드로 어떻게 적용하는지 하나씩 따라가 보자..!

 

1️⃣ info.plist 파일에 다음과 같은 코드를 추가해주기.

추가추가~

 

2️⃣ ViewController.swift 

Tmap이 설치되어 있다고 가정..! 공식문서에 가면 설치되어 있지 않은 경우의 케이스도 있으니까 확인해보자!

import UIKit
import TMapSDK

class ViewController: UIViewController, TMapTapiDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        TMapApi.setSKTMapAuthenticationWithDelegate(self, apiKey: "{YOUR API KEY}")
    }
    
    @IBAction func TmapOpen(_ sender: Any) {
        print("Tmap Button Clicked")
        
        TMapApi.invokeSearchPortal("신도림역")
    }
    
    func SKTMapApikeySucceed() {
    // TMapTapiDelegate를 통해 callback을 받음.
        print("APIKEY 인증 성공")
    }
 }

 

Tmap의 경우에는 URL Sheme방식으로 작동하는게 아니라 Invoke 방식으로 사용해서 다음과 같이 적용해주면 된다.

 

 

더 다양한 것들이 궁금하다면 직접 API 문서를 확인해보기..!