적당한 고통은 희열이다

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

반응형

Swift iOS 앱 개발/iOS 31

메타 광고 이벤트 관리자 appsflyer 연결 (feat. SKAN)

모바일 앱 설치 수가 하나도 잡히지 않는 문제가 있었다. 안드로이드는 잘 되는데  왜 iOS 만 안되는고?? AppsFlyer - Meta 광고 연동 설정https://support.appsflyer.com/hc/ko/articles/207033826-Meta-%EA%B4%91%EA%B3%A0-%EC%97%B0%EB%8F%99-%EC%84%A4%EC%A0%95여기 읽어봐도 분명히 Facebook SDK 연동할 필요 없다고 나와있고, 안드로이드도 따로 facebook sdk 추가해준 적이 없다고 하는데왜 iOS 만 안되는 걸까.. 이리저리 살펴보다가 메타 광고 관리자 - 이벤트 관리자 페이지에서 데이터 연결이 누락되어 있는 것을 발견했다.  앱스플라이어 partner marketplace 들어가서 meta..

[iOS] Firebase Crashlytics 설정은 처음이라…

최근에 새로 배포한 앱에서 Crashlytics SDK가 누락되어있었다..! 😱 crashlytics 설정 다 되어있는 거 콘솔에서 확인만 했지 직접 추가해본 적은 없었는데 그냥 SDK 추가만 하면 알아서 되는 건 줄 알았더니 할 일이 있었다 ㅠ 여기 문서 참고해서 설정해주면 됨https://firebase.google.com/docs/crashlytics/get-started?hl=ko&platform=ios Firebase Crashlytics 시작하기이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Firebase Crashlytics 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. iOS+ Android Flutterf..

[iOS] 긴급 심사 요청

안드로이드는 빠른데 애플은 심사가 굉장히 느리다,, 기본 하루는 잡아야하눈데 치명적인 버그를 발견했을때(?) 급하게 다시 배포를 해야할 때가 있다. 오전 열시 반쯤에 긴급 심사 요청 했도니 오후 두세시 쯤 바로 심사 완료가 되었다! 짱 빠른걸 ㅎㅎ 하지만 너무 남용하면 안해준다고 하니.. 진짜 필요할때만 잘 써먹어보자. Developer 사이트 하단에 Contact Us / 문의하기 버튼을 누른다. If your submission is rejected during this review, you don’t need to request another expedited review when you resubmit. Your resubmission will be automatically returned to ..

XCTest 로 Unit Test 하는 법 + TDD

1. Unit Test 2. Xcode에서 XCTest 활용하기 3. TDD 1. 단위 테스트 Unit Test 단위 테스트 Unit Test 란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 테스트 케이스(Test case) 작성을 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다. 단위테스트 장점 문제점 발견 유닛 테스트의 목적은 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 확인하는 것이다. 이를 통해 문제 발생 시 어느 부분이 잘못되었는지 정확하고 빠르게 확인할 수 있게 해주고, 프로그램의 안정성이 높아지며 디버깅 시간을 단축시킬..

[Swift iOS] OperationQueue에 대하여 (+ BlockOperation, AsyncOperation)

OperationQueue 오퍼레이션큐 OperationQueue : A queue that regulates the execution of operations. 오퍼레이션의 실행을 규제하는(?) 대기열 큐 BlockOperation 블락오퍼레이션 BlockOperation : An operation that manages the concurrent execution of one or more blocks. 내부에 block(클로저)을 내장하고 있는 오퍼레이션 클래스 기본 설정은 동기적(sync)이지만, 다른 큐로 보내서 비동기적으로 실행하는 것도 가능 작업이 모두 종료 되었을 때 알려준다는 점에서 디스패치 그룹과 유사하게 동작한다고 볼 수 있다. (기능은 더 많음) 각 block은 디폴트 글로벌 큐에서..

[Swift iOS] GCD와 Operation의 차이

Operation 오퍼레이션 Operation : An abstract class that represents the code and data associated with a single task. 단일 작업과 관련된 코드 및 데이터를 나타내는 추상 클래스 Dispatch (GCD) : 멀티코어 환경에서 디스패치 큐를 활용하여 동시성 프로그래밍을 지원하는 Framework 디스패치큐를 사용하여 비동기 처리 등을 처리하는 Framework Operation : 오퍼레이션 큐를 사용하여 비동기 작업들을 처리하는 Class 내부적으로 GCD를 기반으로 취소, 순서지정, 일시정지 같은 추가적인 기능들을 구현할 수 있다. => 프로젝트 효율성, 적합성을 따져보고 알맞게 사용해야 ex) 아직 실행 전, 대기열에 있..

[iOS GCD] Concurrency Problems 동시성과 관련된 문제 + 해결방법

2개 이상의 쓰레드를 사용하면서, 동일한 메모리 접근 등으로 인해 발생할 수 있는 문제 실행시마다 항상 같은 순서로 발생하는 것이 아니기 때문에 디버그 하기 어렵다. Thread-Safety - Thread-safe : 여러 쓰레드가 동시에 쓰여도 안전하다. - 동시적 처리를 하면서(여러 쓰레드를 사용하면서도) 문제없이 쓰레드를 안전하게 사용하는 것 데이터(객체나 변수 등)에 여러 쓰레드를 사용하여 접근하여도, 한번에 한개의 쓰레드만 접근가능하도록 처리하여 경쟁상황의 문제없이 사용 1. Race Condition 경쟁상황 두 개 이상의 쓰레드가 한 곳의 메모리(저장공간)에 동시에 접근하여 값을 사용하려고 할 때 문제가 발생할 수 있다. ex) 여러 쓰레드에서 동시다발적으로 쓰기 및 읽기를 할 경우 여러 ..

[iOS GCD] Concurrency 동시성 프로그래밍이란? + 왜 필요할까

작업(task)을 분산시키고 여러 스레드에서 동시에 일을 할 수 있도록 처리하기 위해서 Sync & Async : 단일 작업. 작업 하나를 수행하는 특성? synchronous : 동기. 큐에 추가된 작업이 종료될때까지 기다리는 것. 한번에 하나의 작업만 실행되도록. 장점 : 설계가 매우 간단하고 직관적 단점 : 응답이 주어질 때까지 대기해야함 asynchronous : 비동기. 큐에 작업을 추가하지만 완료 응답을 기다리지 않고 동시에 실행될 수 있어, 여러 작업을 동시에 처리할 수 있도록 해주는 특성. 장점 : 응답을 기다리지 않고 다른 작업을 하므로 자원을 효율적으로 사용할 수 있다 단점 : 동기보다 설계가 복잡하다. Serial & Concurrent - Serial Queue : 작업들을 한번에 ..

728x90
반응형