UIKit, SwiftUI, H.I.G(39)
-
[iOS] 기기 방향 (Orientation) 대응기 - 세로모드 (portrait), 가로모드 (landscape), 방향 고정, 분기 처리
기기 방향 (Orientation)에 대한 이해이번 글에서는 애플 기기의 방향 - 세로모드 (portrait) / 가로모드(landscape)에 따른 대응을 고민했던 내용을 소개하고자 합니다.우선, iOS 개발에서 방향은 Orientation이라는 이름으로 정의되어 있습니다.이 방향 (Orientation)은 다시, 애플리케이션 사용자 기기의 물리적 방향을 뜻하는 Device Orientation과 / 앱의 UI가 화면에 표시되는 방향을 뜻하는 Interface Orientation. 두 가지로 구분할 수 있습니다.Orientation을 대응하는 것은 별것 아닌 것 같아 보여도, 생각보다 애플리케이션을 개발하는 데 있어 중요한 영향을 미치는데요.예를 들어 가로 모드 (landscape)에 최적화되어 있는..
2025.02.03 -
[UIPasteboard] 클립보드 복사, 붙여넣기 허용 알림 로직 구현하기
클립보드 (Clipboard)는 데이터를 임시로 저장하는 메모리 공간입니다.보통 텍스트, 이미지, URL 등의 데이터를 복사 (Copy), 잘라내기 (Cut), 붙여넣기 (Paste) 기능으로 앱 간에 공유하고자 할 때 사용되는 임시 저장 공간의 느낌이죠.일반적으로 아래 화면처럼, 외부에서 복사해온 데이터를 내부에서 붙여넣고자 할 때 사용되는데요. 이번 글에서는 해당 기능을 구현하기 위한 로직을 소개해보고자 합니다!*링크 저장 서비스인 에서는 외부에서 복사해온 링크, 즉 URL을 사용자가 손쉽게 저장할 수 있도록 해당 기능을 구현하게 되었습니다. UIPasteboard?💡 An object that helps a user share data from one place to another within y..
2025.01.22 -
[UIAlertController] 강제 업데이트 및 사용성 개선 업데이트 Alert 표출하기
앱을 처음 앱스토어에 배포한 이후, 유지보수를 하다 보면 예상치 못한 버그를 수정하거나, 앱의 기능을 개선하거나, 새로운 기능을 추가하는 등의 앱 업데이트도 지속해서 이루어집니다.앱 업데이트는 보통 아이폰 스스로 진행되거나, 사용자가 App Store에 직접 해당 앱 링크에 접속해서 업데이트를 시켜주는 방식이 있죠.보통은 전자의 방식으로 [설정 - App Store - 자동 다운로드] 설정에 의해 사용자가 별도로 앱 업데이트를 시키지 않아도,핸드폰을 사용하지 않는 새벽 시간대에 (알게 모르게) 업데이트된 앱을 다운로드 받아줍니다.문제는 해당 설정을 OFF 시켜둔 사용자에게 해당되는, 후자의 경우인데요!단순한 기능이 추가된 경우에는 - 업데이트 없이 하위 버전에 해당하는 앱을 사용해도 크게 문제가 되지는 ..
2025.01.22 -
[UIActivityViewController] 우리 앱에 "공유하기" 기능 (Share Sheet) 구현하는 방법
지난번 글은 외부 앱에서 하단 툴바에 있는 "공유하기" 버튼을 눌렀을 때, 우리의 앱이 연결되도록 하는 Share Extension 내용을 다뤄봤는데요.이번 글은 우리의 앱에서 외부 앱으로 공유를 가능하도록 하는 Activity View(= Share Sheet)를 만드는 방법에 대해 알아보고자 합니다.2차, 3차 스프린트를 거치며 우리 앱 와 다른 앱 간의 상호작용이 더욱 쉬워지도록 개선되는 일환이라고 생각하면 좋겠네요! [Share Extension] 다른 앱의 "공유하기" 버튼에 우리 앱을 설정하고 싶다면? (feat. NSExtensionActivationRule)[Chore] #209 - 사파리 외에 다른 앱에서도 Share Extension 대응 by mini-min · Pull Request..
2024.12.23 -
[UIKit] UISheetPresentationController를 사용해서 바텀시트(Sheets)를 만들어보자
예전 글에서 직접 프로젝트에서 사용할 바텀 시트(Sheets)를 커스텀해서 만든 방법을 소개했었다. [UIKit] 재사용 Component 개발하기 (3) - 바텀 시트 (Sheets, Bottom Sheet)[UIKit] 재사용 Component 개발하기 (1) - Toast Message💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴mini-min-dev.tistory.com하지만, WWDC21 에서 소개된 UISheetPresentationController를 사용해서 바텀시트(Sheets)를 만들면, 위의 글과 같은 복잡한 과정 없이 매우 간단하게 만들 수 있었다.그래서 이번 글에서..
2024.08.30