Swift(스위프트): 공유 메뉴 (UIActivityViewController) 띄우기

소개 공유 메뉴는 아래와 같은 형태로 수많은 앱에서 [공유], [공유하기] 등의 이름으로 존재하는 기능입니다. 특정 메시지나 URL, 이미지, 파일 등을 에어드롭(AirDrop)이나 메시지, 메일, 다른 앱으로 보낼 수 있습니다. 예를 들어 메시지 아이콘을 클릭하면 아래와 같이 영상 URL이 메시지에 첨부됩니다. 이러한 공유 메뉴를 Acitivity View라고 합니다. Swift에서는 UIActivityViewController로 공유 메뉴를 띄울 더보기…

Swift(스위프트): 아이폰 진동(Vibration, Haptic) 구현하기 上 (기초)

소개 Swift에서 진동(Vibration 또는 Haptic)을 구현하는 방법입니다. 진동은 아이폰에서만 지원하고 아이패드나 아이팟 터치에서는 사용할 수 없습니다. 테스트하려면 실제 아이폰 기기가 필요합니다.   기초 아이폰에서 진동을 발생시키는 방법은 크게 3가지가 있습니다. 각 진동은 말로 설명하기는 어려우므로 실제로 체험해보세요(?) UINotificationFeedbackGenerator를 사용하는 방법 성공(success), 경고(warning), 에러(error)를 나타낼 때 사용합니다. 진동이 여러 번 나타납니다. 더보기…

Swift(스위프트): 로컬 알림(Local Notification)을 스케줄에 맞춰 반복 발신하기 (및 한계점)

원문 How is it possible to create highly customised repeated local notification in iOS using UNCalendarNotificationTrigger + UNUserNotificationCenter? 질문 UNCalendarNotificationTrigger + UNUserNotificationCenter를 사용하여 iOS에서 고도로 사용자 정의된 반복 로컬 알림을 생성하는 것이 어떻게 가능합니까? 현재 저는 UNCalendarNotificationTrigger 및 UNUserNotificationCenter를 사용하여 미리 알림 앱에 대해 고도로 사용자 정의된 반복 로컬 알림을 생성하고 더보기…

Swift(스위프트): 텍스트 뷰에서 선택 부분(text selection)에 사용자 정의 메뉴 추가 (스토리보드)

소개 텍스트 뷰 등에서 텍스트를 선택하면 아래와 같은 메뉴가 나옵니다.   여기에 기존에 없는 메뉴를 추가하고 싶다면 어떻게 해야 할까요? 아래 스크린샷에서 단어장에 추가 메뉴는 iOS에 없는 메뉴로 제가 새로 추가한 것입니다.   방법 Step 1 addCustomMenu()  함수를 추가하고, 뷰 컨트롤러의 viewDidLoad(_:)에 addCustomMenu()를 실행하도록 추가합니다. override func viewDidLoad() { super.viewDidLoad() 더보기…

Swift(스위프트): 스테퍼(UIStepper)의 값을 레이블(UILabel)에 표시하기 (일반 방법 및 RxSwift 사용 방법)

InterfaceBuilder의 스토리보드에서 UIStepper는 아래 그림과 같이 마이너스(-) 버튼과 플러스(+) 버튼이 있으며 버튼을 누를때마다 값이 증감하는 컴포넌트입니다. 스테퍼의 값은 Double 타입의 형태로 UIStepper 인스턴스에 자체적으로 저장됩니다만 화면에는 표시되지 않기 때문에 알 방법이 없습니다. 이를 레이블(UILabel)에 표시하는 예제입니다.   참고: UIStepper 최소값, 최대값, 증감값(step value) 설정하기 1) 스토리보드에서 UIStepper 컴포넌트를 선택한 후 더보기…

Swift Package Manager(SPM)와 CocoaPods를 동시에 대응하는 라이브러리 만들기 (1)

Swift Package Manager와 CocoaPods를 동시에 대응하는 라이브러리 만들기 (1) 전체 코드 https://github.com/ayaysir/BGSMM_DevKit   과정 Xcode에서 Swift Package Manager에 대응하는 Package를 만들고 코드를 구현합니다. 별도의 폴더에서 CocoaPods 프로젝트를 생성한 뒤 필요한 파일만 복사해 Swift Package Manager 폴더로 복사합니다. GitHub 레퍼지토리에 푸시한 뒤 버전 태그를 생성하고 태그로부터 릴리즈를 생성합니다. CocoaPods에 대응하기 위한 더보기…

Swift + FirebaseUI: (3) FirebaseUI를 이용해 Apple(애플) 소셜 로그인 화면 구현

이 글의 작업을 진행하려면 아래 포스트의 작업을 먼저 진행해야 합니다. Swift + FirebaseUI: (1) FirebaseUI를 이용해 이메일 로그인 화면 구현   FirebaseUI (2) – Apple(애플) 소셜 로그인 화면 구현 2020년 4월 이후로 소셜 로그인을 지원하는 앱은 무조건 애플 로그인 (Sign in with Apple)을 추가해야 한다고 합니다. 저는 애플 소셜 로그인을 더보기…

Swift + FirebaseUI: (2) FirebaseUI를 이용해 Google(구글) 소셜 로그인 화면 구현

이 글의 작업을 진행하려면 아래 포스트의 작업을 먼저 진행해야 합니다. Swift + FirebaseUI: (1) FirebaseUI를 이용해 이메일 로그인 화면 구현   FirebaseUI (2) – Google(구글) 소셜 로그인 화면 구현 1) 인증 제공업체 목록에 구글 추가 Firebase 콘솔에 접속해서 좌측의 빌드 > Authentication > Sigin-in Method 페이지로 들어갑니다. [새 제공업체 추가] 더보기…

Swift + FirebaseUI: (1) FirebaseUI를 이용해 이메일 로그인 화면 구현

참고 Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 기초 로그인 로그아웃 구현 (스토리보드)   먼저 참고글에서 파이어베이스 프로젝트에서 Authentification 생성 섹션을 읽고 이메일 인증을 인증 메뉴에 추가하는 프로젝트 설정을 해주세요.   FirebaseUI (1) – 이메일 로그인 화면 구현 FirebaseUI는 파이어베이스(Firebase)에서 자주 사용하는 작업들, 예를 들면 인증(로그인)이나 데이터베이스, 파일 저장 기능 등을 보일러플레이트 더보기…

Swift(스위프트) 라이브러리 ENSwiftSideMenu 사용법 (뷰 컨트롤러에 사이드 메뉴 추가)

ENSwiftSideMenu ENSwiftSideMenu는 Interface Builder(스토리보드)에서 아래 그림과 같이 사이드 메뉴를 추가할 수 있도록 도와주는 라이브러리입니다.   깃허브 주소 https://github.com/evnaz/ENSwiftSideMenu   라이브러리 추가 아래 링크를 클릭해서 파일 두 개를 내 프로젝트에 추가합니다. ENSwiftSideMenu 코드 깃허브   CocoaPods로도 추가할 수는 있지만 pod 'ENSwiftSideMenu' 추가할 파일이 두 개밖에 없는데다 마지막 업데이트가 3년 전이고 앞으로도 더보기…