Transporter 앱을 사용하여 App Store Connect 바이너리 파일 업로드

소개 앱 스토어에 앱의 바이너리 파일 (ipa 등)을 업로드하고자 할 때 여러 방법이 있는데 이 중 Transporter 앱을 사용하는 방법을 소개하고자 합니다. Xcode에서도 바이너리 업로드 기능을 지원합니다만, 문제는 알 수 없는 버그가 너무 많고 앱 업로드 중 자주 먹통이 된다는 점입니다. 이럴 때 다른 대안 중 Transporter앱을 사용하면 해당 문제가 더보기…

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)에서 자주 사용하는 작업들, 예를 들면 인증(로그인)이나 데이터베이스, 파일 저장 기능 등을 보일러플레이트 더보기…