적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

초보 iOS 개발자의 일상 118

xcode 16 이슈

코드 바뀐게 없는데 갑자기 성별 필터가 적용이 되지 않는 이슈가 발생했다.  확인해보니 이전 버전 앱에서는 문제가 없고, xcode 업데이트 후 배포한 이번 버전에서 발생하는 문제이다.  내가 넣은 코드는 아니지만 21년도에 작성되어서 쭉 잘 사용되어오던 코드에 갑자기 문제가 생겼다.api 호출하는 파라미터가 제대로 세팅이 안되고 있던데생소한 문법이긴 하지만 그래도 잘 되던게 갑자기 안되는건 이상하잖아?!?다음과 같이 되어 있었고, 남성 필터 선택 시 String 값으로 매핑되지 않고 이상한 (Function)으로 로그가 찍히더라. 엥? "gender": (Function)parameters["gender"] = gender.map({ i -> String? in switch i { case ..

운영 결제 QA 중 이니시스 웹뷰에서 세션 끊기는 이슈 (feat. www)

**운영 결제 테스트 중 결제 완료 화면으로 넘어가지 않는 이슈 운영 QA에서, 결제 시 결제는 되는데 결제 완료 화면이 안뜨고 로그인 화면으로 넘어가버리는 이슈가 나왔다. 안드로이드는 되다 안되다 하고 iOS는 안되고 웹도 안되고 결제 완료 후 redirect 되는 redirect host 가 Stage 주소로 되어있었음. 그럼 안되는게 맞자나?Stage 에서는 세션이 없으니까 로그인으로 넘어가버리는 것.. (안드로이드가 왜 2번정도 되었는지는 미지수..) 서버 수정하니 웹이랑 안드로이드에서는 잘 되더라! 근데 iOS 에서는 결제 후 여전히 로그인 페이지로 넘겨버리는 것.. 🤔서버 쪽에서 로그 확인해주셨는데, 이니시스 웹뷰 시작과 동시에 세션이 없어진다고 하셨다. 에엥 도대체 와이??!?!?? 🤷?..

앱이 꺼진 상태에서 푸시 클릭 시 화면 랜딩 되지 않는 이슈

foreground background 에서는 푸시 클릭 시 화면 랜딩이 잘 되는데, 앱이 꺼져있는 상태에서 클릭 시 화면 이동이 되지 않았다. 앱 처음 진입시 로그인 하는 시간이 필요한데, 그 전에 딥링크 이동 로직을 타버리면 유저정보가 아직 세팅되기 전이라 다음 구문이 실행되지 않게 되더라. if AppDelegate.shared.user != nil { DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { Common.handleRendingLink(parameters: data) }} 푸시 클릭 했을 때, 유저 정보가 세팅되기 전이면 푸시 화면 이동 로직을 pending 시켜주는 코드가 추가되어야 한다. final class P..

Firebase push 간헐적으로 씹히는 이슈

기존 프로젝트들은 상관 없는데새 프로젝트에서 푸시 설정 후 푸시 알림이 간헐적으로 씹히는 문제가 있었다. 푸시가 오다 안오다 해요.. 🤢 앱은 아니고 서버 쪽 이슈였음 푸시 보낼 때 사용 중인 메서드가 옛날꺼라 이제 지원이 안되나봄send_multicast -> send_each_for_multicast 로 메서드 변경하니까 잘 된다고 하심.    다른 프로젝트들은

[iOS] 웹뷰 파일 및 사진 첨부 구분하기

웹에서 input 태그를 만들면 보통 사진 첨부, 파일 첨부 할 수 있는 세 개의 선택지가 뜬다.  웹뷰에서 파일 또는 사진 업로드 버튼을 따로 제공하기 위해 다음과 같이 두 개의 태그를 만들어 각각의 버튼이 특정 파일 형식만 첨부 가능하도록 설정해보았다. 이런식으로 설정해주면 파일을 선택할 수 있는 화면이 바로 열린다.   하지만 사진은 안댐 ㅠㅠ 흑 따로 커스텀 해주어야 한다.

프로젝트 별 spm 설정 초기화 (설정값 주입? or 환경변수 설정?)

디자인 모듈을 만들었는데, 프로젝트마다 primary color 가 바뀌도록 초기 설정을 해주어야 한다.  일단 요러케 프로젝트 타입을 정의해두고public enum AppType { case main case sub}  SPM 모듈 내에서 각 프로젝트마다 다르게 초기화되는 값을 설정하는 방법 1. Dependency Injection 사용하여 설정값 직접 주입받기다음과 같이 SPM 모듈 내에 초기화 구조체 정의public struct DesignConfiguration { public static var shared = DesignConfiguration() public let appType: AppType public init(appType: AppType =..

Unlisted app distribution 등록되지 않은 앱 배포 (+ Enterprise 배포를 하지 못한 이유)

https://developer.apple.com/support/unlisted-app-distribution/ Unlisted App Distribution - Support - Apple DeveloperFeedback Assistant Submit feedback, report bugs, and request enhancements to APIs and developer tools. Send us feedbackdeveloper.apple.com 보통 조직 내부에서 사용하는 전용 앱은 Enterprise Program 을 통해 직원에게만 비공개 배포가 가능하다. 예전 회사에서는 고객사에 전달할 앱을 엔터프라이즈 배포로 진행을 했었는데,현재 진행 중인 프로젝트의 경우, 고객사 직원들을 대상으로 하는 ..

Create and publish Swift Package Manager (SPM 생성하는 법 + Package 구성 추가)

SPM 을 직접 만들어보자디자인 모듈을 spm으로 따로 만들고 있는 중이다.. 혹시 또 사용할 일이 있을까봐 정리해둠 ㅎ 1.  패키지 생성 Create Package1) GUI - Xcode 에서 생성하기Xcode 에서 File > New > Package > Library 로 생성을 해줄 수 있다. 2) CLI - 터미널에서 생성하기mkdir MyPackagecd MyPackageswift package init --type library 하면 프로젝트가 생성이 됨 2. Publish PackageGithub에 새로운 repository 생성해주고Xcode > Integrate > New Git Repository 로 local 레퍼지토리 생성해준 후 다음과 같이 원격, 로컬 레퍼지토리를 연결시켜준다..

[긴급🚨] Privacy Manifest 추가하기

5월 1일까지 Privacy Manifest를 추가해줘야 한다눙,, (deadline은 https://developer.apple.com/news/?id=3d8a9yyh 요기 참고) https://developer.apple.com/documentation/bundleresources/privacy_manifest_files 요기 참고해서 추가해주면 되고, 뭔지 전혀 감이 안온다! 싶으면 아래 wwdc 영상 보면 쪼꼼 이해 될수더..? https://developer.apple.com/videos/play/wwdc2023/10060 Get started with privacy manifests - WWDC23 - Videos - Apple Developer Meet privacy manifests: a ..

728x90
반응형