iOS21 [iOS] MapKit 찍먹하기 (feat. MKLocalSearch) 오직 장소 검색 기능을 위해 사용한 MapKit MKLocalSearch 와 start(completionHandler:) 를 활용해 장소를 검색하고, 결과를 [MKMapItem] 형태로 받아올 수 있다. 아래는 공식문서에 소개되어있는 검색 예제 let searchRequest = MKLocalSearch.Request() searchRequest.naturalLanguageQuery = "coffee" // Set the region to an associated map view's region. searchRequest.region = myMapView.region let search = MKLocalSearch(request: searchRequest) search.start { (response,.. 2022. 12. 6. [iOS] UIView Draw Cycle [2022.12.19] 세부 내용 리팩토링^^;; 어쩌다가 이걸 공부하게 됐나 차트 데이터를 업데이트 해야하는 상황이 생겼었는데 내가 구현한 차트 뷰는 이니셜라이징할 때만 차트 데이터를 받아서 보여주고 거기서 끝나기 때문에 문제가 발생해서 알게 되었다. 뷰를 다시 그리려면 어떻게 해야하는지에 대한 스택오버플로우 질문에 대한 답을 보면 항상 setNeedsDisplay 가 있어서 일단 그걸 사용해서 문제를 해결했었음 하지만!! 그래서 이걸 왜 써야하는데?? 다른 비슷한 이름인 메서드들도 있던데 걔네는 뭐임?? 하는 의문의 답을 찾기 위해 찾다가 UIView 드로잉 주기에 대해 공부하게 되었다. UIView Drawing Concept iOS Drawing Concepts iOS Drawing Concept.. 2022. 12. 6. [iOS] Local Push Notification 활용해보기 ** 예전에 개인 프로젝트를 진행하며 작성했던 글입니다. ** Push Notification 애플리케이션의 푸시 알림을 보내는 방법은 크게 로컬과 서버로 나뉜다. 서버에서 푸시 알림을 보내는 방법은 APNS, Firebase Messaging, One Signal 등등 다양한 방법이 있다. APNS의 경우 애플에서 공식적으로 지원하는 Notification Center이지만, 이를 이용하기 위해서는 Apple Developer Program에 가입해야 하는 것으로 알고 있다. 간단히 서버를 통해 푸시 알림을 보내기 위해서는 Firebase Messaging나 One Signal을 이용하는 것이 좋지만 특정 시간에 알림을 주는 것만으로 충분하기 떄문에 굳이 서버까지는 활용하지 않았다. Local Push.. 2022. 12. 5. [iOS] MVVM 폴더 구조(Folder Structure) 알아보기 진짜 말그대로 알아보는 코너 iOS 개발을 하면서 나름 정리한다고 했는데도 폴더 구조도 그렇고 코드도 지저분해지는 게 느껴졌었다. 당시에도 그걸 어렴풋이 알고 있었는데 오랜만에 옛날 코드를 보니 더더욱 그랬다;; 아무래도 ViewController에 기능과 UI 처리를 함께 넣으려고 하니 구분이 힘들어진 탓인 것 같았음 그래서 이번에야말로! 그토록 벼르고 벼르던 MVVM에 대해 제대로 정리해보려고 한다. 지금까지의 토이 프로젝트나 회사 프로젝트에서는 각각 다른 이유긴하지만 MVC를 적용했었고, 그 뒤로는 플러터에 적응하느라 MVVM을 다뤄볼 시간이 없었다. 이번에는 정리도 제대로 하고, 기존 토이 프로젝트도 리팩토링 하려고 함. https://github.com/kudoleh/iOS-Clean-Archi.. 2022. 5. 29. [iOS] 앱스토어 등록 시 표시되는 언어 바꾸기 얼마 전 개인 프로젝트를 앱스토어에 등록했는데 언어 표시가 영어로 되어 있었던 적이 있었다. 앱스토어 커넥트에서 언어를 모두 한국어로 지정해주었음에도 불구하고 이렇게 뜬 데다가, 구글링을 하기도 애매한 내용이었다. 결국 찾아내긴 했지만 다시 잊어버릴까봐 여기에 기록하기로 .xcodeproj 폴더 내 project.pbxproj 파일을 수정하면 된다. developmentRegion = ko; // en -> ko로 수정 hasScannedForEncodings = 0; knownRegions = ( ko, // en -> ko로 수정 Base, ); 다시 아카이빙 해주고 빌드하면 끝 2022. 4. 11. [iOS] URLComponents를 위한 Dictionary extension URL/URLComponents는 url을 통한 서버 연결이 필요할 때 사용하는 구조체이다. 그 중 URLComponents의 경우 몸체가 되는 url과 query가 분리되어있는데 이러한 쿼리 스트링을 효율적으로(?) 지정할 수 있는 방법을 정리해두고자 한다. 만일 쿼리문의 키값이 하나만 필요하다면 다음과 같이 간단하게 쿼리스트링을 지정할 수 있을 것이다. let bbUrl = "www.be-beee.co.kr/ios" //임의의 주소입니다. var urlComponents = URLComponents(string: bbUrl) urlComponents?.query = "key1=value1" 그러나 key값이 하나만 필요한 경우는 거의 없고 기본적으로 4, 5개 이상의 key값을 요구할 경우가 많았다... 2020. 7. 14. 이전 1 2 3 4 다음