본문 바로가기

iOS_Swift13

iOS FCM Push Notification .p8 인증서 오류 문제 Firebase Cloud Message(FCM) 로 Push notification 작업을 하는데, 자꾸 아래와 같은 문제가 발생했다. 이미 다른 앱으로 구현했었고, 그때 했던 것과 동일하게 코드 짜서 넣었는데 유효하지 않은 APN. 애플 개발자 사이트에서 APN 등록도 했고 유효기간이 다른가도 찾아보고 이미 운영하고 있는 앱 + Firebase 라서 번들 ID 가 다르지도 않고 아무리 봐도 잘못 된 것이 없는데... 결론은 이거였다 P8 지원..... P8 지원이 안된다 정상적으로 쓰고 있는 분이 있는걸로 봐선 내 문제인것 같긴 한데, 이미 운영중인 앱을, 저걸 고치자고 새로 Firebase 계정파서 번들 ID 바꾸면서 테스트 할 수 있는 상황은 아니다. 그래서 P12 인증서로 적용해봤다. 에러 없이.. 2023. 10. 31.
WWDC 2022 - KeyNote 확인 후 정리중... 어제 WWDC 2022 영상이 업로드 되었고, KeyNote부터 하나씩 확인해보고 있다. iOS 16 출시 예정이고, M2 장착한 새로운 MacBook Air, MacBook Pro 13인치 가 출시된다고 하고! MacOS 는 현재 Monterey 를 쓰고 있는데, Ventura 로 업그레이드 되면서 여러 기능들이 생길 예정. 지금 보니 XCode Beta는 이미 iOS 16 지원을 하고 있다. 이걸 깔아서 기능들을 좀 써봐야 하나. 흥미로운 것 중 하나는, 약을 카메라로 찍어서 입력하면, 약 복용 리스트를 만들고 관리할 수 있고, 특정 약 중복 복용하면 안되는 것들은 경고 표시까지 띄워주는 기능이 기본 앱으로 생긴다고 한다. 지금 봐선 한국 지원은 안되는 것 같던데, 어떻게 출시될지 봐야 알 듯. Ke.. 2022. 6. 8.
Swift - Struct 와 Class 차이점 Swift 서적이나 일반적인 차이점에 대해서는 다음과 같이 설명하고 있다. 기본적으로 Struct 는 값 타입, Class 는 참조 타입. 값 타입이란? - Struct 에서 변수를 할당하면 스택 영역에 값이 저장된다. - 변수를 복사한 후 복사본을 변경하더라도 원본에 영향을 주지 않는다. - 힙 영역을 사용하지 않고 레퍼런스 카운팅이 필요하지 않다. 참조 타입이란? - 스택 영역에는 포인터(레퍼런스)만 할당되고 실제 데이터는 힙 영역에서 할당된다. - 변수를 복사하더라도 하나의 값을 가리키고 있기 때문에 복사본과 원본이 모두 같은 값을 갖는다. - 변수를 복사하더라도 레퍼런스 카운트만 +1되고 실제 값이 복사되지는 않는다. 좀 더 쉽게 설명하면, Struct 로 구성하면, 해당 Struct 에 값이 저.. 2022. 3. 22.
Swift Memory leak 관리 (1) - lazy var 변수 2개 앱을 만들고 앱스토어 출시하고, 앱 운영하면서 지금까지 메모리 누수 문제로 고생하거나, 문제가 된 적은 없었다. Swift 가 기본적으로 메모리를 알아서 관리해주기 때문이기도 하고, 실질적으로 에러를 발생시킨 적이 없었으니. 우연히 모 기업 인터뷰를 보다가 메모리 누수 관련 질문을 받았는데, 기존에 관심이 없었다 보니 불편한 경험도, 답변을 할 내용도 없었다. 무작정 어떻게든 앱을 만들어야지 라는 급한 의욕과 체계적으로 공부할 이유를 몰랐던 비전공자의 시너지(?)로 발생한 사건이었고 인터뷰 후, 약 한시간 정도 실력 부족에 대한 자아비판 시간을 가진 후, 몇몇 서적과 인터넷을 통해 Swift Memory leak 를 알아보았다. 앱 안정성에 굉장히 중요한 내용인데 여태 관심도 없었다는 나 스스로에게.. 2022. 3. 22.