반응형 분류 전체보기94 [iOS] XCode16업데이트에 따른 Fastlane isa Key 오류 https://github.com/fastlane/fastlane/issues/22276Xcode16업데이트에 따른 Fastlane 스크립트 실행중, ipa key를 찾지 못하는 오류가 발생합니다. 원인그 이유는 Xcode 16과 xcode15 이전버전들과 폴더구조가 다르기 때문입니다.Xcode16에서는 프로젝트 파일(project.pbxproj)에 새로운 그룹 타입인 PBXFileSystemSynchronizedRootGroup이 도입되었습니다. PBXFileSystemSynchronizedRootGroup은 파일 시스템과 동기화된 루트 그룹을 나타내며, 이전 버전의 Xcode나 일부 도구에서는 이를 인식하지 못할 수 있습니다. 첫번째 해결방법CI 환경에서 Xcode 16 사용 확인 및 설정- scri.. 2024. 12. 13. [Swift6] 왜 싱글톤을 사용하면 RaceCondition 에러가 잡힐까? Swift 6 모드를 켜보시면, 기존 코드에서 Singleton으로 처리된 부분이 에러로 잡히는 것을 본 적이 있으실 겁니다. 싱글톤 패턴은 전역적으로 공유되는 인스턴스를 제공하기 때문에, 간편하게 접근할 수 있는 장점이 있습니다. 그러나 동시성 환경에서의 잠재적인 문제를 안고 있기도 합니다. Swift 6에서는 컴파일 시점에서 엄격한 동시성 검사를 도입하여 이러한 문제를 미리 방지하고자 합니다. 이번 글에서는 Swift 6의 새로운 동시성 검사와 이를 통해 싱글톤 패턴을 안전하게 사용하는 방법에 대해 알아보겠습니다. 일반적으로 싱글톤은 다음과 같은 코드로 구현됩니다class Singleton { static let shared = Singleton()}이 코드에서는 shared라는 전역 인스턴스를.. 2024. 12. 3. [RxCocoa] 델레게이트와 Rx의 중첩으로 인한 셀 클릭 인지 안되는현상 서론UITableView나 UICollectionView와 같은 컴포넌트를 RxCocoa로 바인딩하여 사용하다 보면, 셀을 클릭했을 때 이벤트가 트리거되지 않는 경우가 있습니다. 예를 들어, tableView.rx.itemSelected를 사용하여 셀 클릭 이벤트를 처리하려고 할 때, 특정 상황에서 이 이벤트가 호출되지 않는 현상이 발생할 수 있습니다. 특히, UITableView의 델리게이트 메서드를 직접 구현하면서 Rx와 중복으로 설정하게 되면 이러한 문제가 발생할 가능성이 높아집니다.원인 RxCocoa는 내부적으로 UITableView의 델리게이트를 설정하여 각종 이벤트를 Rx 스트림으로 제공하는데, 개발자가 직접 델리게이트를 설정하게 되면 Rx가 설정한 델리게이트가 무효화되면서 예상치 못한 동작이.. 2024. 11. 12. [RxSwift] withUnretained 를 대체하는 subscribe(with:onNext:) withUnretained란RxSwift 6부터 나온 기능으로, Observable 시퀀스에서 방출되는 요소들과 함께 특정 객체를 약한 참조로 묶어(unretained), 메모리 누수(Memory Leak)를 방지하는 데 사용합니다* 이렇게 적으니 먼가 애매하죠? RxSwift공식 깃헙에 적힌 내용입니다만, 코드로 보는게 더 이해가 빠를 것 같네요 info .subscribe(onNext: { [weak self] in /// ~내용~~ }) .disposed(by: disposeBag)클로저 내부의 self는 강한 참조로 캡처되며, disposeBag도 self에 의해 유지되므로 강한 참조 순환이 발.. 2024. 10. 28. [ReactorKit] @Pulse 키워드 서론상태 변화를 관리할 때, distinctUntilChanged 동일한 값이더라도 다른 컨텍스트에서 발생하는 이벤트를 구분해야 하는 상황이 발생했습니다. 예를 들어, 사용자가 동일한 데이터를 여러 번 입력하거나, 특정 액션이 반복될 때, distinctUntilChanged는 의도치 않게 중요한 이벤트까지 필터링하여 UI 업데이트가 누락되는 문제가 발생했습니당.이러한 문제를 해결하기 위해 ReactorKit에서는 @Pulse 키워드를 도입하게 되었습니다. @Pulse는 특정 이벤트를 별도의 스트림으로 분리하여 관리할 수 있는 강력한 도구로, 중복 필터링 없이 모든 이벤트를 정확하게 전달할 수 있도록 도와줍니다.@Pulse 키워드먼저, 공식문서를 살펴보겠습니다. 공식문서에는 @Pulse를 다음과 같이 소.. 2024. 10. 25. [Swift/휴식맞쥬] Directions 5 API로 고속도로 섹션 추출하기! : 위치 정보 처리의 여정 (1/2) 서론휴식맞쥬는 NaverMapSDK와 Directions5API를 통해 목적지 까지 경로선을 그리고, 경로선 위에 존재하는 모든 휴게소의 정보를 좌표를 바탕으로 보여주고 있습니다!휴게소의 정보를 서버로 부터 받아오기 위해서 클라이언트단에서는 각 고속도로 경로의 정보를 추출해서 서버로 보내주어야합니다.그.래.서 Directions5API를 통해 고속도로 경로 정보를 추출하는 코드와 더불어 제가 느꼈던걸 정리할려고합니다! *별도의 Directions5API를 통해 내려오는 데이터 구조에 대해서는 설명을 안하겠습니다. 데이터 구조가 궁금하시면, 링크를 걸어 두었으니 들어가서 참고하시면 이해에 더욱 도움이 되실 수 있을겁니다.문제 정의경로추출의 주요 목표는 다음과 같습니다경로 데이터 분석: 전체 경로에서 고속도.. 2024. 10. 20. 이전 1 2 3 4 ··· 16 다음 반응형