iOS/삽질 기록

    XCode Archive 시 has no member Error 발생

    XCode Archive 시 has no member Error 발생

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

    MPNowPlayingInfoCenter 제어센터 초기세팅 및 갱신하는 방법

    MPNowPlayingInfoCenter 제어센터 초기세팅 및 갱신하는 방법

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

    UITableView 로 가사 기능(트래킹, 하이라이팅, 탐색) 개발 기록

    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 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를 열어 재빌드합니다. 위와같이해서 문제를 해결했습니다 !

    앱스토어 첫 심사와 리젝 대응 : Guideline 2.1

    앱스토어 첫 심사와 리젝 대응 : Guideline 2.1

    첫 심사 시험 하루 전날이었지만,첫 개인 앱이 세상 밖으로 나갈 준비를 마치니까 몸이 근질거려 시험공부는 때려치고 처음으로 심사를 넣어보았다! 앱스토어에 등록될 스크린샷(6.5/5.5)도 직접 만들고 인생 첫심사라니 뿌듯해하던것도 잠시 심사에 들어간지 2시간 정도만에 답장이 왔다. 첫 리젝 이게 뭐지? 하고 읽어보니 리젝당했다는 뜻이었다. 처음 읽을때만해도 통과는 됐는데 뭘 바꾸라는건가? 싶었음ㅋㅋㅋㅋㅋ 가이드라인과 함께 내용을 파파고와 함께 읽어보니 2.1 앱 완전성 앱 심사 팀에 제출하는 앱(사전 주문용 앱 포함)은 필요한 모든 메타데이터가 있고 URL이 정상적으로 작동하는 최종 버전이어야 합니다. 플레이스홀더 텍스트, 빈 웹 사이트와 기타 임시 콘텐츠는 제출하기 전에 삭제해야 합니다. 앱을 제출하기..

    [EventKit] 캘린더에 이벤트 추가하기(with. Async/await)

    [EventKit] 캘린더에 이벤트 추가하기(with. Async/await)

    Introduction to Calendars and Reminders Introduction to Calendars and Reminders The EventKit framework helps you access users’ Calendar and Reminders information. Although two different apps display users’ calendar and reminder data, the same framework manipulates the data. Similarly, the da developer.apple.com EventKit 공식 문서 간단 해석 주관적일 수 있습니당 틀린 내용이 있으면 댓글로 달아주세요! EventKit는 사용자의 기존 캘린더 및 미리 알림 ..

    [iOS]카카오 로그인 구현 시 키 값 숨기기

    [iOS]카카오 로그인 구현 시 키 값 숨기기

    카카오 로그인 iOS SDK 공식 문서 설치방법 : https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios 사용방법 : https://developers.kakao.com/docs/latest/ko/kakaologin/ios 앱을 출시하려면 필수가 되어버린 소셜 로그인 기능 중 국내에서 가장 많이 사용되는 카카오 로그인! 그런데 SwiftUI 에서 iOS SDK 2.4.0 버전을 다루는 글이 많이 없는 것 같아 직접 맨 땅에 헤딩해보고 사용법과 문제점을 정리해보려고 합니다. 개발 환경 Xcode : 13.1 target iOS : 14.0 Kakao iOS SDK : 2.4.x 로그인 방법 자세한 내용은 카카오 공식문서에서 확인하실 수 있..