본문 바로가기

분류 전체보기21

CoreLocation) 위치정보 이용 관련 시뮬레이터 활용방법 CoreLocation의 핵심은 위치 정보이다. 위치 정보를 테스트하기 위해 시뮬레이터에 구동했는데 나의 물리적 위치가 아닌 바다 한복판이라든지, 미국 어딘가를 보여줄 수도 있다. 혹은 단순한 위치 정보 뿐만 내비게이션이나 동선 추적 등 속도나 거리 정보 등을 사용하기 위해 테스트가 필요할 때도 있다. 매번 실 기기에 앱을 구동시켜서 확인하기도 쉽지 않다. 이럴 때 사용하는 시뮬레이터 설정이 있다. Simulator의 설정 - Features - Location 탭이 있다. 정적인 위치 정보를 테스트하는 방법 Custom Location 클릭 후 특정 좌표를 입력하면 시뮬레이터의 위치로 설정된다. 아래는 합정역의 좌표를 입력했을 때 시뮬레이터 상에 표시되는 지도이다. 동적인 위치 정보를 테스트하는 방법 .. 2024. 2. 1.
CoreLocation) 위치정보 이용에 필요한 승인 권한 요청(사용중, 항상) CoreLocation을 사용하며 위치정보를 이용하기 위해 권한이 필요하다. 애플의 문서에 따르면 위치 데이터는 민감하고 앱 사용자의 개인정보 보호에 영향을 미치기 때문에 섬세한 요청 방식을 요구한다. (앱을 사용하면서 위치정보가 필요한 바로 그 시점에 권한을 요청하기를 권유하고 있다. 예를 들어 내비게이션 앱을 키자마자가 아닌, 위치 정보가 필요한 시점) 1. Access Level 앱이 위치정보에 접근하는 수준에는 두 가지가 있다. 사용중: 앱을 사용하는 동안만 허용 항상: 앱을 사용하지 않을 때도 허용 사용 중: When In Use 사용 중은 앱을 사용하는 동안에 필요한 위치 정보에 대한 권한이다. 한 번 허용은 앱을 켤 때 마다 권한을 받는 임시허용이다. 앱을 사용하는 동안 허용은 한 번 받아두.. 2024. 2. 1.
SwiftUI) Preview 크래시 발생 사례 (EnvironmentObject) 스유를 사용하다보면 Preview에서 크래시가 종종 일어난다. 사실 이전에 Preview 크래시 관련 글을 작성했었는데, 그땐 일반적인 문제보다 특수 경우였고 xcode 버그로 판명났다. 근데 그 글이 구글에 Preview 크래시 관련해서 검색하면 제일 상단에 떠서 사람들 유입이 계속 있었다. 그래서 개발하던 도중 많이 봐왔던 사례에 관해 글을 쓰려고 한다. 일반적으로 코드에 문제가 있는 경우 xcode 자체에서 오류를 발생시켜서 개발자가 인지하게 해준다. 하지만 Preview 크래시의 경우 xcode가 안잡아주는 경우가 있고 그래서 뭐가 문젠지 모를 때가 많다. 글 이해에 도움을 줌 - 사례를 순서대로 읽으시는 것을 권장 - 코드를 긁어다가 주석을 해제해서 비교하기 Data binding, Enviro.. 2024. 1. 17.
Realm - Updating UITableView 관련 이슈 및 해결(Xcode 이슈) / 이게 되네.. Realm을 프로젝트에 적용하기 위해, 연습용 프로젝트를 만들었다. Realm의 문서를 보며 데이터 베이스와 CRUD를 뒤적거리며 코드를 구현해보았다. 저장된 데이터를 리셋(deleteAll)하는 기능을 테스트하던 도중, 오류가 발생했다. 테이블뷰가 UI를 업데이트하는 과정에서 오류가 발생하는 것이었다. 데이터 제거 및 UI 업데이트 과정 data delete -> data changes 발생 -> notification token -> change에 따른 UI 업데이트 처리 func addChangeListener(_ tableView: UITableView?) { realmManager.notificationToken = myData.observe { changes in if let tableView.. 2024. 1. 16.
ChatGPT 4.0을 무료로 사용가능한 AI 툴 [뤼튼: wrtn] vs ChatGPT 3.5 개발할 때 3.5을 통해 많은 정보를 얻고 있었다. ChatGPT-4.0이 나왔다는 소식은 들었지만 유료버전으로 매달 22달러 구독료가 있어서 사용해보진 않았다. 그러던 중 유튜브 숏츠를 통해 4.0을 무료로 사용할 수 있다는 툴인 [뤼튼]의 소식을 접했고 사용해보았다. 사용방법은 간단하다. 뤼튼 사이트에 들어가서 회원가입을 하면 어렵지 않게 사용할 수 있었다. 아래에 링크를 첨부해두겠다. https://wrtn.ai/ wrtn 모두를 위한 AI 포털 뤼튼. AI 채팅부터 이미지 생성, 나만의 AI 제작까지, 언제 어디서나 생성형 AI와 함께하세요. wrtn.ai 직접 사용해보니 차이점을 체감할 수 있었다. 사람과 채팅하는 것에 비유를 해보자면, 3.5는 답변 속도가 빠르다. .. 2023. 7. 6.
Github 레포에 올린 민감한 정보 예방하기 + 제거하기(.gitignore + BFG Repo-Cleaner 사용법) API호출 시 필요한 개인정보를 레포에 올려버림 -> info.plist에 내용 옮기고 -> gitignore로 info.plist 등록 -> 캐시도 제거 -> 하지만 HomeViewModel.swift 파일에 있던 개인정보는 그대로 커밋에 남아있음 -> BFG 이용하여 커밋에서 HomeViewModel 파일 제거 1. .gitignore를 통해 민감한 정보 제외하여 커밋하기 위의 사진처럼 민감한 정보가 퍼블릭 레포에 그대로 올라가있었다. 해당 ID와 Secret키는 Spotify를 구독해야만 얻을 수 있기 때문에, 악용될 가능성이 있어서 Info.plist에 정보를 넣어준 후 Info.plist파일을 .gitignore에 등록해줄 것이다. Bundle name의 +버튼을 눌러 Key값을 추가하고, V.. 2023. 6. 30.

TOP

Designed by 티스토리