iOS

    [iOS] - UI작업은 왜 메인스레드에서 이루어져야하나

    조하~ 여러분 혹시 이런 말 들은 적 있으신가요? "UI작업은 메인스레드에서 이루어져야 한다!"는 말이요. 제가 미모(MIMO)앱을 개발하면서 겪었던 관련 이슈를 잠깐 이야기하고 가볼게요. [UI작업] must be used from mainThread 미모앱을 만들면서 다음과 같은 오류를 겪게 되었습니다. 오류를 읽어보면 "UISwitch.setOn(_:animated:) 메소드가 반드시 메인스레드에서 동작되어야한다" 는 말인거 같습니다. UISwitch.setOn(_:animated:)메소드는 UI작업 메소드이죠? 하지만 조금 이상하죠. 분명 따로 스레드 작업을 처리해주지 않으면 메인스레드에서 동작하는게 기본일텐데 왜 저런 오류가 나는걸까요? 알아보니 위의 genPendingNotificationRe..

    [iOS] GCD 누구냐 넌 - 2. sync/async & main/global

    이전 포스팅 [iOS] GCD 누구냐 넌 - 1. GCD의 등장배경 GCD 제대로 알고 써봅시다🔥 josee2.tistory.com 조하~ 여러분 연말 잘 보내고 계신가요?? 저번 시간엔 가볍게? GCD의 등장배경에 대해 알아보았습니다. GCD는 알고보니 우리를 도와주는 아주 착한 친구였죠!!! 등장배경을 알았으니 드디어 GCD에 대해 제대로 알아보아야겠죠!!! 개인적으로 GCD를 공부하며 가장 헷갈렸던 것이 바로 동기/비동기, 직렬/동시의 개념에 대한 이해와 차이였습니다. 볼 때 마다 새롭고... 헷갈리고... 그랬던거 같아요. 네! 그래서 오늘은 바로 GCD에서 가장 헷갈리고 조금은 어려운 동기/비동기, 직렬(메인)/동시에 대한 개념 그리고 GCD가 뭔지 가볍게 살펴보고자합니다. 그러면 바로 레쓰기릿..

    [iOS] GCD 누구냐 넌 - 1. GCD의 등장배경

    조하~ 여러분 잘 지내셨나요!!! 네.. 저는 잘 못지내고 있습니다 하하... SeSAC iOS 앱개발자 데뷔과정이 끝났기 때문... ㅠㅠ 정말 힘들었지만 즐거웠고 많은 걸 얻을 수 있었던 그런 시간이었어요. 2022년 최고의 선택!!! 아니 제 인생 통틀어서 최고의 선택이었습니다. 여튼!!! 저는 현재 이력서를 작성하고 그동안 밀렸던 블로그도 정리하고... 리팩토링도 하고... 그러고 있습니다... 네... 이제 시작인거죠 ㅠㅠ 여러분들은 2022년 꼭 마무리 잘하시길 바라겠습니다 :) 다름이 아니라 제가 Weekly Conference 때 GCD에 대해 발표했는데 블로그에는 정리를 안했더라구요??? 네... 그래서 정리해보려고 합니다. GCD에 대하여!!! 아마 한 편으로는 안 끝날듯 하고 이번 기회..

    [iOS] - Realm 마이그레이션 정리

    1. 마이그레이션 보통 이전 소프트웨어 -> 최신 소프트웨어로 업데이트되는 것을 통용해서 마이그레이션이라고 한다. 이와 같은 경우에 마이그레이션을 진행해야한다. 새로운 테이블을 만들 경우 기존테이블 -> 컬림 삭제 / 추가 / 이름 변경 / 타입 변경 ver 1.0 id title memo ... ... ... ver 1.1 id title memo favorite ... 고래밥 안녕 Bool favorite을 추가해주면 1.0 버전과 1.1버전이 일치하지 않기 때문에 기존에 사용하던 유저는 런타임오류를 겪게되어 삭제하고 다시 다운을 받아야한다. 때문에 마이그레이션이 필요한 것이다!!! ver 1.2 id HeadLine Content ... ... 고래밥 안녕 마이그레이션 할 경우 이처럼 사용자의 데이..

    [iOS] - Push Notification(feat. Firebase)

    iOS에선 두 가지의 Notification이 존재합니다. 앱 자체에서 알림을 보내는 Local Notification과 서버에서 알림을 보내는 Push Notification 입니다. 오늘은 그 중 하나인 Push Notification에 대해 보고 구글 Firebase를 사용해 보내는법까지 알아보려 합니다. Push Notification Push Notification에 대해 이야기 하기 전에 주의 사항이 있습니다. ✅ 유료 애플 개발자 계정 등록 필수!!! 애플에서 푸시 알림 인증키를 제공받아야 하는데 유료계정이 아니면 제공을 안해준다고 하네요... 꼭 등록을 하고 시도하세요!!! APNs Push Notification에 대해 이야기하려면 먼저 APNs에 대해 알아야합니다. APNs란 Apple..

    [iOS] Map Kit View 사용하기 - 1

    1. Mapkit뷰 넣어주고 import하기 import MapKit 2. 위치 나타내기 CoreLocation은 지리상 기기의 위치, 위도 경도 또는 근처의 iBeacon기기와 관련된 기능을 제공합니다. 와이파이, GPS, magnetometer, barometer, cellular hardware를 이용해 데이터를 수집한다고합니다. CLLocationManager 클래스의 인스턴스를 사용해 Core Location의 기능을 설정, 시작, 중단 할 수 있습니다. location manager객체는 위치 관련 활동에서 다음 4가지 기능?을 지원합니다. Standard and significant location updates Region monitoring Beacon ranging Compass hea..