 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

uikit 12

[회고] 안전한 현업 iOS 앱 개발 도전기 - Abstract

Overview 보안 업종 분야의 중견기업에서 iOS 앱 개발자로서 얻은 경험을 정리해 본다. 나는 누구인가? 소프트웨어 개발자를 시작하고 지금까지 가슴에 품은 초심이 있다. 프로젝트를 진행할 때 의사결정에 근본적으로 영향을 주는 요소이다. 핵심 가치는 다음과 같으며 최대한 지켜내고자 노력하고 있다. 다른 사람들의 고민을 해결하도록 문제를 정의할 수 있는 사람이 되고 싶다. 사용자의 문제점 해결을 위한 기술적 솔루션을 보급하고 싶다. 솔루션을 통해 사용자가 중요한 일에 집중하도록 도와주고 싶다. 동료와 함께 동반 성장을 추구하고 코드 설계를 성취해가고 싶다. 종합적인 회사 경험 판교역 부근에 위치한 보안 업종의 중견기업에서 iOS 개발자로 근무할 수 있는 기회가 생겼다. 이번 커리어 경험은 다음의 사유로..

[Challenge] SettingsKit 프레임워크 개발

Overview 사용자가 iOS앱의 설정값을 사용자 정의할 수 있도록 설정 기능 및 사용자 인터페이스를 구현한다. 배경 Apple은 "Preferences and Settings Programming Guide"를 통해 앱을 사용자화 할 책임과 관련 도구에 관하여 설명한다. 여기서 사용자에게 노출할 기본 설정을 결정하고 앱 자체의 기본 설정 인터페이스를 어떻게 제공할지는 각 앱이 결정한다고 지침을 주고 있다. 개발자가 앱의 기본 설정값을 손쉽게 관리할 수 있는 도구도 제공하고 있다. 예를 들어 UserDefaults 프레임워크를 사용하면 앱을 구성하는 데 사용되는 정보들을 키-벨류 형태로 영구히 저장할 수 있고 iCloud를 통해 설정값을 공유할 수도 있다. 더 나아가, iOS 설정 번들를 활용하여 특정..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 15부 - State Restoration

Overview State Restoration을 구현하여 사용자가 애플리케이션이 중단되었음을 인식하지 않도록 구현한다. 배경 아이폰을 사용하다보면 다양한 원인으로 인해 현재 사용하던 앱이 중단될 수 있다. 예를 들어, 특정 앱을 사용하던 중 전화나 메시지가 와서 이를 수신할 수 있다. 또한 동시에 여러 작업을 수행하기 위해 멀티태스킹 기능을 사용하는 경우도 있을 것이다. 사용자가 다른 작업을 처리한 뒤에 본래 처리하던 작업을 마무리하고자 돌아올 수 있다. 이때 iOS 운영체제의 자원 관리 정책으로 인해 앱이 종료될 수 있다. 이 경우 사용자는 작업의 맥락을 놓치고 다시 처음부터 시작해야 하는 문제가 발생될 수 있다. 결코 좋은 경험이 아니다. State Restoration 기능을 구현하여 앱이 일시 ..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 13부 - User Notification

Overview 음식점 서버에 주문을 넣은 후 음식의 준비가 완료되면 사용자에게 푸시 알림을 보내는 기능을 개발한다. User Notification 중 Local Notification을 활용하며 푸시 알림 이벤트에 따른 액션을 처리해 본다. 프로토콜 지향 프로그래밍을 활용해 Notification 정보를 체계적으로 관리해 본다. Local Notification UIKit에서는 시각적인 상호작용을 위해 UIView를 활용한다. 앱이 켜져 있을 때는 사용자 인터페이스를 제공하여 사용자와 상호작용할 수 있으나 앱이 종료되었을 때에는 이를 활용하기 어려워 보인다. User Notification은 중요한 이벤트에 대하여 사용자가 응답할 수 있는 수단을 제공한다. 예를 들어 휴대폰을 잠가둔 상태로 메시지를 ..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 12부 - Order

Overview 음식점 서버에 주문서를 전송한다. Timer와 Combine API를 활용하여 Progressive Bar 인터페이스를 갱신해 본다. 페이지 전환 방식으로써 모달을 사용해 본다. Order Confirmation Order 앱은 음식점 서버에 주문을 넣을 수 있다. Order 주문서에는 음식 메뉴 아이템으로 구성되어 있는다. 음식점 서버는 음식 메뉴 아이템에 따라 준비시간이 다를 수 있다. 서버의 역할은 사용자의 주문이 들어올 때마다 음식이 준비될 때까지 필요한 시간을 계산하여 사용자에게 알려주는 것이다. 이전에 준비해 둔 스토리보드에는 Order Confirmation이라는 화면 페이지가 있었다. 이 화면의 역할은 음식점 서버가 알려준 음식 준비 시간과 주문을 넣은 시간을 기준으로 현재..

반응형