iOS

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 보다 아..

CocoaPods pod install 시 minimum deployment target 경고가 뜰 때
프로젝트를 Clone 후 의존성 설치를 위해 pod install 을 했다.분명 예전에도 pod install 후 워닝이 떠서 minimum deployment target 를 최소 지원 버전과 맞춰 놨는데, pod install 을 하면 다시 초기화되는 경우가 발생했다. 새로운 팀원이 들어오거나 프로젝트 파일을 새로 여는 경우 매번 minimum deployment target 을 설정해주는건 번거로운 일이다. 그래서 이참에 자동화 하는 방법을 찾아서 적용해두었다.. # 이런 저런 초기 설정...target 'YourApp' do # 당신의 앱의 이런저런 외부 의존성... # ex) pod 'KakaoSDKTalk' # ex) pod 'Alamofire'endpost_install do..