iOS/개념 & 개발

[iOS/Swift] 토스트(Toast) 구현 방법 / CocoaPod

유정주 2021. 9. 23. 00:10
반응형

[iOS/Swift] 토스트(Toast) 구현 방법 / CocoaPod

안녕하세요. 개발하는 정주입니다.

 

오늘은 iOS에서 토스트를 구현하는 방법에 대해 포스팅하려고 합니다.

iOS에서는 안드로이드처럼 기본적으로 토스트를 지원하고 있지 않습니다.

그래서 CocoaPod에서 Toast-Swift를 import 하여 구현합니다.

이제 시작합니다.


Podfile 생성하기

CocoaPod을 이용해 외부 라이브러리를 설치하고 import 하기 위해서는 Podfile을 만들어줘야 합니다.

터미널 프로그램을 키신 뒤 프로젝트 폴더로 이동하신 뒤 작업해주세요.

ls를 쳤을 때 .xcodeproj이 있는 경로로 이동해야 합니다.

 

경로로 이동했으면 아래 명령어를 입력해주세요.

pod init

명령어를 입력하면 몇 초 동작이 없다가 새로운 커맨드 라인이 나올 겁니다.

ls -al을 쳐서 Podfile이 있다면 정상적으로 실행된 것입니다.

Podfile이 생성된 모습

이제부터 외부 라이브러리를 사용할 때는 모두 이 Podfile에 추가하여 install 하면 됩니다.

 


Toast-Swift 설치

Toast-Swift는 github에 올라와 있는 토스트 라이브러리입니다.

https://github.com/scalessec/Toast-Swift

 

GitHub - scalessec/Toast-Swift: A Swift extension that adds toast notifications to the UIView object class.

A Swift extension that adds toast notifications to the UIView object class. - GitHub - scalessec/Toast-Swift: A Swift extension that adds toast notifications to the UIView object class.

github.com

 

사실 설치방법, 사용법 모두 위 링크에 자세히 설명되어 있어서 해당 포스팅을 써야 하나 말아야 하나 고민을 했습니다만 나중의 저를 위해 작성하기로 결심했습니다.

아무튼 저희는 프로젝트 폴더에 해당 라이브러리를 설치해야 합니다.

 

먼저 Xcode 프로젝트를 종료해주세요.

 

Podfile을 아래 명령어로 열어줍니다.

sudo vi Podfile

그리고 end 직전에 아래 코드를 작성해줍니다.

pod 'Toast-Swift', '~> 5.0.1'

그러면 이 사진과 비슷하게 되었을 겁니다.

저는 토스트 말고도 두 개의 라이브러리를 추가했습니다.

이런 식으로 추가하면 된다는 것만 참고해주세요.

 

이제 install만 하면 끝이 납니다. 터미널로 돌아와서 아래 명령어를 입력해주세요.

pod install

명령어를 입력하고 정상 동작한다면 아래처럼 설치가 시작됩니다.

다시 커맨드 라인이 나오면 설치가 완료된 것이고 Xcode를 다시 열면 됩니다.

설치 과정

설치가 정상적으로 완료되었다면 Xcode 프로젝트를 열었을 때 Toast-Swift가 보여야 합니다.

Pods에 Toast-Swift가 추가되었다.


토스트 사용

설치를 완료했으니 토스트를 사용해봅시다.

swift 파일에 Toast-Swift를 import 해줍니다.

import UIKit //기본으로 import되어 있음
import Toast_Swift //Toast-Swift 추가

사용 방법은 아주 간단합니다.

토스트를 띄우고 싶은 곳에 아래 코드를 작성하면 됩니다.

self.view.makeToast("메시지", duration: 1.0, position: .bottom)

넣고 싶은 메시지를 입력하고 duaration은 second 단위로 입력합니다.

position에는 토스트 위치를 넣으면 됩니다.

 

저는 예시로 중앙에 1초간 메시지를 띄어보았습니다.

self.view.makeToast("😅 12자 이상 입력할 수 없습니다.", duration: 1.0, position: .center)

 

입력한 메시지로 토스트가 띄워지는 것을 볼 수 있습니다.


마무리 잡담

안드로이드와는 다르게 토스트 하나 띄우는 것에도 이렇게 많은 노력이 들어갈 줄은 몰랐습니다.

iOS에서는 토스트가 비 권장되는 것처럼 보입니다.

생각해보면 애플 기본 앱에서는 Alert로 안내를 하지 토스트를 띄워서 안내를 한 적은 없는 것 같습니다.

다음에는 Alert에 대해서도 포스팅 써보도록 하겠습니다.

 

감사합니다!


아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

공감 댓글 부탁드립니다.

반응형