본문 바로가기

SOPT5

[iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 3 이전 글인 1. [iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 1 2. [iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 2 에서 이어지는 내용입니다! 이전 글에서 딥링크 라우팅 설계와 구현에 대해 살펴보았습니다. 오늘은 앞서 구현한 로직의 활용 사례와 웹 링크를 주제로 글을 적어보겠습니다! 추가로 이번 라우팅 로직을 설계를 하며 고민했던 부분들과 코드레벨에서 이렇게 구현한 이유에 대해서도 소개하겠습니다! 먼저 웹링크부터 시작하겠습니다! 웹링크 웹링크는 저희 SOPT Makers 팀에서 딥링크과 구별하여 웹 URL 을 부르는 이름입니다. 이 웹링크가 등장한 이유는 SOPT 앱 자체가 플랫폼으로서 SOPT 공식 홈페이지, Playground 등 다양한 웹 페이지로 이동할 수 있도록 라.. 2024. 1. 6.
[iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 2 이전 글인 1. [iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 1 에서 이어지는 내용입니다! 앞서 요구사항의 발생과 설계에 대해 살펴보았습니다. 오늘은 코드 레벨에서 상세한 구현 내용에 대해 공유하겠습니다! 코드 설명 앞선 글에서 다이어그램으로 표현한 객체와 인터페이스(프로토콜)들에 대해 소개하겠습니다! 1. NotificationPayload 구조체 public struct NotificationPayload: Codable { public let aps: APS public let id: String public let category: String? public let deepLink: String? public let webLink: String? public var hasLink: .. 2024. 1. 5.
[iOS] SOPT - 푸시 알림 딥링크 라우팅 개발 여정 1 오늘은 IT 동아리 SOPT의 공식앱인 SOPT를 개발하며 했던 고민들과 이렇게 개발한 이유에 대해 적어보려고 합니다! 주제는 바로 푸시 알림 딥링크 라우팅입니다. 푸시 알림 딥링크란 무엇일까? 아이폰을 사용하다보면 카톡이 오거나 기타 앱에서 광고 같이 알림 센터에서 짧게 팝업으로 표시하는 메시지가 있는데 이것을 푸시 알림이라고 합니다. SOPT 앱에서도 이런 푸시 알림에 대한 니즈가 생기기 시작했습니다. 특히, 푸시 알림이 유용한 이유는 저 알림을 터치했을 때 개발자가 원하는 위치의 화면으로 이동시키는 경험을 제공할 수 있기 때문입니다. 카카오톡 푸시 알림을 터치하면 해당 메시지가 있는 채팅방으로 바로 이동하는 것처럼 말이죠! 이것을 저는 푸시 알림 딥링크 라우팅이라고 부르고 있습니다. 푸시 알림의 페.. 2024. 1. 5.
iOS - Compositional Layout을 적용해 보자! 목표 UI 최근 진행중인 프로젝트에서 제가 맡은 뷰의 UI입니다. 상하 스크롤이 가능해야 하고 가운데에 있는 공식 홈페이지~크루 버튼 부분은 가로 스크롤이 가능해야 했습니다. 이 뷰를 구현하는 방법은 다양합니다. UIScrollView로 만들고 그 안에 여러 버튼들을 직접 전부 구현해서 넣기 UICollectionView 또는 UITableView로 만들고 Cell로 내부 UI들 처리 + 가로 스크롤이 필요한 부분은 Cell안에 CollectionView추가 UICollectionViewComposionalLayout 사용 저는 3번인 CompositionalLayout을 사용하는 것으로 정했습니다. 그 이유는 ComposotionalLayout이 이번 예시처럼 스크롤 영역이 중첩되는 뷰를 구현할 때 매.. 2023. 8. 3.
[iOS] SOPT - Swift 에러 핸들링 with Combine + Clean Architecture 사건의 발단 작년부터 계속 개발 중인 프로젝트에서 에러 핸들링에 대한 필요성이 계속 커져가고 있었습니다. 동아리원들을 위한 앱인데 사용자가 점점 늘어나서 수백 명이 되었고 팀원들 모두 전혀 예상하지 못했던 여러 가지의 버그가 발생하기 시작했습니다. SOPT 에서는 매주 토요일마다 세미나가 열리는데 이 때 동아리원들이 출석 체크를 쉽게 하도록 도와주는 기능을 추가되어 배포된 상태였습니다. 출석 시간인 토요일 14시에 무조건 앱이 잘 동작해야만 하는 상황이었는데....,,... 역시나 첫 대규모 사용인데 무사히 넘어갈리가 없었다...ㅎㅎ 그동안 에러 처리를 제대로 안했기 때문에 발생하는 일들이었고 당연하게도 에러 처리가 부족했기 때문에 버그를 잡는 것도 쉽지 않았습니다. 사진을 보면 다들 네트워크 오류라는 .. 2023. 7. 30.