ios29 [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] 프로젝트 개발 환경 세팅 자동화 with fastlane, Makefile 필요성 및 배경 iOS 프로젝트를 진행하다 보면 github에 올리지 말아야 하는 코드, 파일들이 생기게 됩니다. API Secret Key, API의 baseURL 등 다양한 데이터들이 해당되며 일반적으로 이 데이터들은 별도의 파일을 만들고 그 파일을 .gitignore에 추가하여 Git 커밋에 포함되지 않도록 합니다. Git의 관리를 받지 않는 파일이 생긴다는 것은 결국 팀원간 파일 공유를 수작업으로 진행해야 한다는 것을 의미합니다. Git의 도움 없이 슬랙이나 카톡으로 파일들을 주고 받는 경험은 꽤나 귀찮고 번거롭습니다. 심지어 이러한 비밀 파일(private files)들을 수정하고 팀원들에게 공유하는 것을 까먹는다면 서로 다른 환경 속에서 프로젝트를 빌드, 개발하는 불상사가 발생할 수 있습니다... 2023. 8. 7. iOS - Compositional Layout을 적용해 보자! 목표 UI 최근 진행중인 프로젝트에서 제가 맡은 뷰의 UI입니다. 상하 스크롤이 가능해야 하고 가운데에 있는 공식 홈페이지~크루 버튼 부분은 가로 스크롤이 가능해야 했습니다. 이 뷰를 구현하는 방법은 다양합니다. UIScrollView로 만들고 그 안에 여러 버튼들을 직접 전부 구현해서 넣기 UICollectionView 또는 UITableView로 만들고 Cell로 내부 UI들 처리 + 가로 스크롤이 필요한 부분은 Cell안에 CollectionView추가 UICollectionViewComposionalLayout 사용 저는 3번인 CompositionalLayout을 사용하는 것으로 정했습니다. 그 이유는 ComposotionalLayout이 이번 예시처럼 스크롤 영역이 중첩되는 뷰를 구현할 때 매.. 2023. 8. 3. [Swift] iOS 네이버 지도 SDK - 지도 뷰 커스텀 https://lsj8706.tistory.com/46 이전 글인 지도 마커(Marker) 커스텀에서 이어집니다. 기능 요구 사항 네이버 지도 SDK를 활용한 앱에서 지도를 커스텀한 과정을 공유해 보고자 합니다. 프로젝트의 주요 서비스는 달리기 코스를 직접 그리고 공유하는 기능이었습니다! 따라서 지도가 필요했고 저는 네이버 지도 SDK를 선택하여 사용했습니다. 당연하게도 디자이너분들이 SDK의 기본 UI가 아닌 저희 프로젝트만의 UI를 만들어 주셨고 저는 iOS 네이버 지도 SDK를 활용하여 요구사항에 맞는 지도 뷰를 구현해야 했습니다..! 위처럼 대충보기에는 비슷하지만 세부 기능과 형태가 다른 지도 뷰들이 요구사항으로 들어왔습니다. 마지막 5, 6번 뷰의 지도는 이미지 뷰입니다. 따라서 사용자가 그린 .. 2023. 7. 12. 이전 1 2 3 4 5 다음