안녕하세요
오늘은 Xcode의 외부 라이브러리 설치 툴인 Cocoapods 를 이용하여 간단하게 Alert창을 띄워보도록 하겠습니다.
물론 Custom으로 띄워도 되지만 애니메이션이라던지 디자인 등등 신경써야할것도 많고 반복적으로 불러주어야 하니
Framework를 활용하기로 했습니다.
이전에 안드로이드에 KAlert이나 웹 에서 필수적인 SweetAlert을 사용하던걸 추억하여...
일단 먼저 CocoaPods를 다운받아야 합니다. Homebrew의 Xcode용 이라고 보시면 될듯합니다.
1. CocoaPods 설치
여기가 CocoaPods 홈페이지 입니다.
터미널을 켜신 후 gem을 이용하여 다운로드해줍니다.
$ sudo gem install cocoapods
그러면 Cocoapods를 사용하실 수 있습니다.
그리고 이제 추가하고 싶은 프로젝트 디렉토리에 가서 터미널을 켜줍니다.
그리고 여기서 해당 커맨드를 입력해주면 기존의 프로젝트파일 말고 다른 WorkSpace나 Podfile이 더 생겨있는것을 알 수 있습니다.
$ pod init
여기서 터미널로 nano 편집기를 이용하여 Podfile에 접근합니다.
그러면 이러한 창이 나오고 본인이 원하는 Target Project 하단에 원하는 라이브러리를 입력해야 합니다.
입력할 내용은 CocoaPods 홈페이지에서 검색한 후 오른쪽에 Installation Guide 를 보면 나와있습니다.
저 같은 경우는 Alert창을 띄우고 싶었기 때문에 여러가지를 찾았습니다. 그 중에서 Malert을 선택하였습니다.
Github에서 별도 많이 받은거 같고 유명한 SCLAlertView 가 Swift 5 를 지원하지 않는건지 잘 되지 않기도 하였습니다.
그렇게 다시 해당 폴더의 터미널에서 아래의 명령어를 입력하면 적용이 됩니다.
$ pod install
// 설치
$ pod try Malert
// 테스트
그러면 이제 새로 생성된 프로젝트(Workspace)에서 작업을 하시면 됩니다. 기존에 프로젝트로 들어가시면 Cannot found Framework 라는 오류가 나오실겁니다.
2. Malert 적용
해당 프로젝트에서 원하는 Controller에 import 해 줍니다.
import Malert
사용방법에는 Malert 프로젝트에서 Example을 잘 보시면서 하시면 됩니다.
일단 CustomView.swift 파일과 CustomView.xib 파일을 만들어 줍니다.
그리고 원하는 Example에서 소스를 복사해 줍니다.
.xib 파일이 레이아웃만 나올텐데 당황하지 마시고 Open As 를 찾으시고 Source Code를 클릭하면 xml 형태의 파일이 나옵니다.
그리고 얍삽하게 싹 복사를 하여 활용 해줍니다.
그리고 Alert이 불리길 바라는 Controller에 해당 정보를 참조해서 추가해 줍니다.
let view = FirstCustomView.instantiateFromNib()
let malert = Malert(customView: view)
let action = MalertAction(title: "OKay"){
print("fail")
//action 이란 버튼을 의미 버튼 클릭 리스너를 안에다 구현해 준다.
}
action.tintColor = UIColor(red:0.15, green:0.64, blue:0.85, alpha:1.0)
malert.addAction(action)
present(malert, animated: true)
오늘로써 또 느꼈습니다. Xcode 와 Swift는 정말 불친절한 언어라는 사실을...
원하는 이미지 크기를 변경하기도 까다롭고 생각보다 세팅해주어야할것이 많았습니다...
여기서 시간을 많이 쓴 만큼 저와 같은 다른 초심자 분들은 시간 낭비를 하지 않으셨으면 좋겠습니다...