iOS

XCode15+ Image Color Assets 관리 방법의 변화
목차Asset Catalogs 의 새로운 기능원리사용법사용 후 느낀 점 Asset Catalogs 의 새로운 기능XCode15 을 통해 에셋 카탈로그에 새로운 기능이 추가되었습니다.이제 다음처럼 카탈로그에 리소스를 추가하면 Color, Image를 해당 이름을 통해 상수로 불러올 수 있습니다.따라서 직접 Enum이나 Struct를 만들어 각 리소스들을 직접 상수화 시키는 번거로움이 줄었습니다. 원리에셋 카탈로그에 우리가 리소스를 추가하면 XCode에서 GeneratedAssetSymbols.swift 라는 파일을 생성하고각각 ImageResource, ColorResource라는 Struct 안에 전역 상수로 만들어 줍니다. 아래 이미지를 보면 ImageResource 를 통해 에셋 카탈로그에 있는 ..

XCode Archive 시 has no member Error 발생
목차포스팅 동기Archive 시 Type '' has no member '' 문제 발생문제될만한 곳 확인하기문제 해결 포스팅 동기개인 앱을 만들다가 어느정도 완성되기도 했고, 햅틱 반응 테스트가 필요해 테스트 플라이트에 올려보기로 했다.그런데 시뮬레이터나 실기기 연결에선 잘되던 빌드가 아카이빙에서만 빌드 에러를 뱉는 문제가 발생했다.해당 문제를 정리하는 것부터 문제의 원인까지 차근차근 접근하다보면 해결되지 않을까 싶어 포스팅하게 되었다. Archive 시 Type '' has no member '' 문제 발생 위 사진처럼 에러가 나는데, 실제 파인더 경로에 가보면 정상적으로 파일들이 있고 해당 코드부분을 눌러보면 에러메시지가 사라진다.(에러 메시지가 사라지는게 가장 의문..) 문제될만한 곳 확인하기가장..

MPNowPlayingInfoCenter 제어센터 초기세팅 및 갱신하는 방법
뮤직플레이어앱을 개발하면서 제어센터를 사용하기 위해 코드를 짰지만 webview에서 동영상을 재생하는 방식인 우리 앱에선 동작하지 않아 버리기엔 아까워 코드를 공유하고자 남깁니다. // 제어센터 초기세팅import MediaPlayerfunc MPNowPlayingInfoCenterSetting() { // 제어 센터 이벤트 수신 시작 // Info.plist에 // UIBackgroundModes : audio 또는 // Required background modes : App plays audio or streams audio/video using AirPlay 해주어야 합니다. UIApplication.shared.beginReceivi..

UITableView 로 가사 기능(트래킹, 하이라이팅, 탐색) 개발 기록
왁타버스 뮤직 앱을 개발하면서 가사 기능을 구현했던 내용을 기록하기 위해 작성한 글입니다.요구사항 및 결과 화면1. 가사 트래킹 기능: 시간이 흐르면 재생중인 가사가 가운데로 스크롤되어야 함2. 가사 하이라이팅 기능: 재생중인 가사를 하이라이팅해야 함3. 스크롤 가사 탐색 기능 : 가사를 스크롤하면 멈춘 위치의 가사를 재생 기능 구현 트래킹 기능1. JSON 으로 받아온 가사를 가사 딕셔너리로 변환가사를 요청하면 아래와 같은 형식의 json이 날아옵니다.[{"identifier":"1","start":17.17,"end":19.9,"text":"기억나 우리 처음 만난 날","styles":""},{"identifier":"2","start":19.9,"end":23.77,"text":"내게 오던 너의 ..

Tuist Project 'Could not build Objective-C module' 오류 해결법
Tuist 로 프로젝트를 진행하다가 Could not build Objective-C module 'RXSwift' 라는 오류메시지를 마주해 해결한 방법을 공유합니다. 1. XCode Settings -> Locations -> Derived Data 로 이동2. XCode 를 종료합니다.3. Derived Data 폴더에 많은 폴더들이 있을텐데, 문제가 되는 프로젝트명이 붙은 폴더를 전부 삭제합니다.(Ex: TestProject-dqiwebnaks)4. tuist clean, tuist generate 를 순서대로 해줍니다.5. xcworkspace를 열어 재빌드합니다. 위와같이해서 문제를 해결했습니다 !
![[SwiftUI] 사라질 때 transition이 적용안되는 경우 (SwiftUI removal transition not animated)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJBHV5%2FbtrSq8Zo4Af%2FgRHgKHosvoFh0P2TvbtM10%2Fimg.gif)
[SwiftUI] 사라질 때 transition이 적용안되는 경우 (SwiftUI removal transition not animated)
문제Color 로 덮여있는 화면을 탭하면 Lottie 뷰가 아래에서 나타나고,Lottie 뷰를 다시 탭하면 아래로 사라지도록 했다.뷰가 나타나는 건 잘되는데, 사라질 때 왜 애니메이션이 안먹을까? 원인 및 해결ZStack { Color.green.ignoresSafeArea() if isAnimating { CustomLottieView() .transition(.move(edge: .bottom)) }}// @State isAnimating, onTapGesture 는 생략위 코드처럼 구성이 되어있는데 .ignoresSafeArea() 를 풀어보면 removal transition 시, CustomLottieView 의 ZIndex 가 0으로 변경되면서 Color 보다 아..