프로젝트14 [SwiftUI] 개인앱에 2024년 리포트 보여주는 기능 추가 해보는건 어때요? (SwiftUI로 Youtube recap 구현하기) 글은 SwiftUI로 Recap관련한 뷰를 생성했던 여정을 기록하기 위함입니다. 실제 프로젝트 완성 화면 1. 상황 분석개인앱에 2024년 리포트를 보여주고 싶다는 계획을 했습니다. Recap을 어떤 방식으로 구현할까 고민하다가, 실제 Recap을 이용해보면서 어떤 느낌이 들었는지 분석해 봤습니다. 실제 해보고시고 싶으면 (YoutubeMusic -> Avatar -> 나의 Recap) flow로 만나보실 수 있습니다. 리캡을 쓰고나서 있는 기능들을 정리해 보았습니다. 기능 1. 뷰들이 순차적으로 넘어갈 수 있다. progress의 경우 상단에 표시된다.2. 화면을 좌 우로 나누고 클릭시 기능이 수행된다 - 좌 클릭: 이전 Recap화면으로 돌아간다 - 우 클릭: 다음 Recap화면으로 넘어.. 2025. 1. 2. [Swimlight] Localization 자동화 시스템 만들어 보기 (GPT + Tuist + Excel + Python + Swift) 안녕하세요 Swimlight 개발자 MaraMincho 입니다. 오늘은 Swimlight가 어떤 방법으로 Localization을 지원하는지 알아보도록 하겠습니다. 0. Tuist와 .xcstringswwdc에서 보면 xcstring으로 마법같이 Localization을 지원한다. 그래서 그걸 따라해보고 적용할려 하니 아직 지원이 안된다는 이슈가 있었다. 그래서 진짜 그런가 하고 Core 모듈에 필요한 것들을 넣어봤는데 후술할 이야기 이지만, 기존 strings를 통해 모든 모듈에 의존성을 추가했다. 혹시 몰라 xcstring으로도 가능할까 해봐서 모든 모듈에 의존성을 추가했지만 에러가 발생했다. 아마 Tuist 에서 xcstrings를 관리하면 좋겠지만, 그런 날은 오지 않을 것 같다. 1. 기존 Lo.. 2024. 11. 21. [밀꼭] 사용자 피드백 반영하기 (Tuist + Carthage + RealmSwift 트러블 슈팅) 글 작성 배경최근 업데이트에서 밀꼭은 고객의 소리함 이라는 기능을 만들었습니다. UI적이나, 기능적으로 필요한 것들에 대해 고객의 의견을 받아보고 싶어서 만들었습니다. 실제로 기능에 대한 불편한점을 호소하였습니다. 개인앱이기에 기능을 고치고 바로 배포에 들어갈려 했습니다. 하지만 저를 가로막은건 Tuist 와 Carthage의 오류였습니다. 오류에 관해서일단 밀꼭은 비교적 오래된 어플리케이션 입니다. 여기서 오래된 이란 단어를 사용한 이유는 2024년에 굵직한 업데이트들이 많이 일어났습니다. swift 6.0 과 Tuist 4.0 업데이트가 있었습니다. 현재 개발이 완료되었고 서비스 유지보수 단계에서 Tuist 와 Swift의 Version Up에 대해 Task Ticket을 전혀 생각하지 않았습니다.. 2024. 11. 1. [수수] Swift 6.0 마이그레이션 후기 안녕하세요 수수 어플리케이션 iOS개발자 정다함 입니다. 이번 2024-09-17기준으로 Swift6.0이 업데이트 되었습니다. 당장은 Swift 5버전으로 어플리케이션을 배포하고 유지보수해도 상관 없지만, 언젠가는 해야하는 일이라고 생각했습니다. 그래서 이번 기회에 마이그레이션을 진행해 보았습니다. 글은 Swift 6.0 마이그레이션을 하면서 정리했던 생각과, 왜 이런 코드를 작성했는지에 대한 흐름을 보여줄 예정입니다. 1. 싱글톤 객체를 Sendable로프로젝트에서 사용하는 싱글톤 객체를 컴파일 하면 다음과 같은 에러가 발생합니다. 로컬 캐시나 프로젝트에서 쓰는 모듈을 싱글톤을 활용한 경우가 있는데 이들을 모두 수정해주어야 합니다. Static property 'shared' is not con.. 2024. 10. 4. [수수] iOS에서 에러 Log를 Discord + FireBase로 전달(Discord를 통한 Log 저장 방식 공유) SUSU를 개발하던 도중 한 이메일이 도착했습니다. 메일은 정확한 버그에 대해서 설명을 해주셨습니다. 검색 기능이 동작하지 않는 버그였는데, 버그를 재현 할 수 없었습니다. 즉 어떤 방식으로 왜 버그가 발생했는지에 대해서 명확한 분석을 하지 못하였습니다. 그래서 이를 해결하고자 Log를 외부 서버로 저장하자 라는 생각을 하였습니다. 그래서 서버쪽에 버그를 아카이브 하는건 어떨지에 대해서 물어봤습니다. 당연히 API만들 어줄 것으로 생각했지만, 더 좋은 해결 방법을 얻을 수 있었습니다. 바로 업무에 사용하는 메신저 플래폼을 활용하여 버그를 아카이브하는 방법을 선택했습니다. 1. 통합 로깅 시스템 구축개발자들은 각 Object혹은 function에 적절한 do try catch 를 활용하여 Error를.. 2024. 9. 26. [수수] iOS 4개월치 회고, 열길 물속은 알아도 한길 사람속은 모른다. 옥수수 팀에 들어가서, 수수 어플리케이션을 만들고 있습니다. 오늘은 그 어플리케이션을 만들면서 느꼈던 것들에 대해서 회고를 하려 합니다. 1. 열길 물속은 알아도 한길 사람속은 모른다. (iOS팀원의 연속 탈주로 인한 팀이 아닌 개인이 되버린...)프로젝트를 진행하면서 iOS개발자들이 대거 이탈하였습니다. 3명이서 시작한 팀은 몇번의 증원과 탈주가 있었습니다. 이렇게 몇번을 반복하니 결국 팀에 남은 iOS개발자는 저 혼자 남게 되었습니다. 팀원들은 각자 저마다의 사정으로 팀을 나가게 되었고, 나간다는 소식을 듣고 나가기 까지 걸린 시간은 반나절도 안되었습니다.(당일통보 ㅠㅠ) 팀끼리 상의 없이 나가서 속상하고 분노도 차올랐습니다. 그렇게 절망과 원망의 시간이 흐르고 감정이 무뎌지는 데 까지는 얼.. 2024. 9. 8. 이전 1 2 3 다음