본문 바로가기

IOS

GPS 관련 기능 사용정리 (location manager, fused location provider) 안녕하세요. 블루스웨터 소프트 입니다. 사용자의 위치정보를 활용하여 기능 구현을 하는것은 이제 흔한 일이 되었습니다. 진행한 프로젝트를 기반으로 내용을 정리해보겠습니다. 최근에 작업에 참여하게된 프로젝트는 골프 관련 앱으로써 사용자의 위치 정보가 굉장히 중요한 요소 입니다. 위치 정보를 활용하여 라운딩 정보를 기록하고 모니터링, 분석 하는 앱 입니다. 위치 정보를 사용하지 못한다면 앱 기능의 절반은 사용 불가라고 봐도 무방할 정도 입니다. 때문에 다시한번 위치정보에 대한 내용을 정리하는것이 필요했습니다. GPS의 이해 GPS(Global Positioning System) 는 미국 국방부에서 개발하여 현재는 군사, 공공, 민간 기업, 일반 등 다양하게 활용되어지고 있습니다. GPS의 연간 유지보수 비용은.. 더보기
BLE(beacon), Objc-swift, mdm 프로젝트 진행 소개 안녕하세요. 블루스웨터 소프트입니다. 프로젝트를 진행하며 느낀점과 기술적인 부분을 정리 하고 있습니다. P사의 프로젝트를 진행하다보면 어려운 점은 다름아닌 보안 입니다. 외부로 통하는 경로가 막혀있기 때문에 필요한 lib 등 오픈소스 활용도 어렵습니다. 신청을 통해 필요한 경로를 오픈해주기는 하지만 오래걸리고 까다롭기도 합니다. 개발하는 입장에서는 굉장히 불편한 일이지만 보안이 철저한것은 어찌됬건 환영할일 입니다 😂(울면서 웃는 나) 그동안 하드웨어와 앱단의 ble 연동을 원하는 프로젝트들이 있었습니다. 이번 경우도 마찬가지로 ble를 통해 앱과 디바이스(혹은 특정 단말장치)를 연동하여 특정 기기를 필터링 하길 원하였습니다. 특별히 어려운 점은 없어 보였습니다만...😅 함정이 존재했습니다 (이후 글.. 더보기
MVVM-C 패턴을 활용한 앱 개발 후기 안녕하세요. 블루스웨터 소프트 입니다. 클린 아키텍처, 클린 코드(clean code:Robert C. Martin) 등은 이제 주변에서 흔하게 접하는 단어가 되었습니다. MVC, MVP, MVVM... 각종기법이 사용되고 있습니다. 장기적으로 유지보수측면서 환영할만한 일이지만 해당 기법들이 무분별하게 사용되어진 프로젝트들을 보면 (모든 기법이 뒤섞인) 유지보수측면에서 정말 지옥이 아닐수 없습니다. 오늘은 MVVM-C 라고 하는 패턴을 사용한 작업 후기를 공유 합니다. MVVM 패턴은 매우 인기있는 클린아키텍처 접근 방법 입니다. 이 패턴에 Coordinator 라는 개념을 추가 한것이 MVVM-C 패턴 입니다. "왠 코디네이터 입니까?" 코디네이터는 일종의 목적지 가이드 라고 이해하면 쉽게 접근할수 있.. 더보기
SwiftUI +Preview 를 활용하여 UI 작성 방법 안녕하세요. 블루스웨터소프트 입니다. 프로젝트를 진행하며 재미있는 방법으로? UI를 구성한적이 있습니다. 꽤나 유용한 방법이어서 해당 내용을 공유 합니다. 기존의 프로젝트에 SwiftUI 의 Preview 를 적용하여 개발하는 방식입니다. 이 방법을 활용하면 Storyboard, Swift등은 그대로 쓰면서, UI 개발시 바로 바로 Preview 를 보면서 개발이 가능합니다. 이렇게 되면 UI 구성을 확인하기 위해 매번 빌드 해서 확인하고 빌드해서 확인하는 수고로움이 덜어질 것입니다. 필요한 부분만 컴파일 되어 보여지므로 속도 또한 빠릅니다. 방법은 정말 간단합니다. 프로젝트에서 Swift 파일을 하나 생성합니다. 그리고 기존의 방법대로 UIkit 등 필요한 라이브러리를 import 하시고 맨 아래 부분.. 더보기
Flutter와 iOS 그리고 extension 간에 데이터를 공유 후기 안녕하세요. 블루스웨터소프트 입니다. Flutter를 사용해보니 편리함과 동시에 앱의 복잡도가 증가했습니다. 개발 툴사용만 봐도 그렇습니다. 저는 vscode를 이용해서 flutter 코드를 작성합니다. 안드로이드는 android studio, ios 는 xcode 에서 따로 작업합니다. 때문에 리소스도 상당히 많이 잡아먹는 작업입니다. 그럼에도 Flutter의 많은 장점들 때문에 최근 가장 트랜디한 개발 언어가 되었겠죠. 개발을 하며 필수적으로 native 소스단에 접근하게 되는데요. 이럴때마다 선택지가 많다보니 어디에 핵심 로직을 둘것인가?하는 문제가 생기게 됩니다. 오늘은 개발시 있었던 일화와 간단한 값을 (읽기, 쓰기) 테스트 해보면서 좀더 이야기 해보겠습니다. 우선 제 상황을 공유하자면... F.. 더보기
ios 네이티브 앱에 flutter 사용하기 소개 안녕하세요. 김과자 입니다. 이전에 소개 해드린 안드로이드 flutter 모듈 사용에 관하여 참고 하시고 ios 도 오늘 소개 해드리는 방법으로 테스트 해보시기 바랍니다. 본문 안드로이드와 마찬가지로 모듈을 만들어줍니다. 방법은 아래에 ↓↓↓ 2023.07.01 - [개발 코딩 정보 공유/플루터 Flutter] - 안드로이드 네이티브앱에 flutter 소스 사용하기 module과 네이티브 소스는 아래와 같이 셋팅합니다. (제 기준) [최상위폴더] -> [module] -> [native project] 우선 기존의 소스에 pod을 셋팅해야 합니다. pod 셋팅이 되어있다는 가정하에… pod파일에 아래의 코드를 추가합니다. platform :ios, '14.0' # 이부분 추가 #flutter_app.. 더보기
안드로이드 네이티브앱에 flutter 소스 사용하기 소개 안녕하세요. 김과자 입니다. 모든 앱을 flutter 로 만들수 없습니다. 기존의 앱을 전부 뜯어 고치는것은 결코 좋은 솔루션이 아닙니다. 아래의 방법을 통해 기존의 앱에 플루터 앱을 추가해보세요. 시작 이 방법은 기존의 네이티브 소스에 flutter 공통화 화면이나 코드를 추가하는 방법입니다. 안드로이드 네이티브소스 IOS 네이티브 소스 -> 플루터 화면 / 소스 추가 Module 작업 기존의 안드로이드 스튜디오 에서 작업하셔도 되지만 저는 cmd 로 생성해주겠습니다. 만들고자 하는 폴더로 이동후 > flutter create -t module --org com.example flutter_module_test 생성된 flutter module 을 오픈하시고 gradle 설정파일에서 자바 버전을 .. 더보기
Flutter 설치및 환경 셋팅 후 무지성 첫 실행 소개 안녕하세요. 김과자 입니다. 어렵게 어렵게 Flutter 설치를 완료하였습니다. 지난 시간에는 오류까지 잡고 환경셋팅을 완료하였습니다. ↓↓↓ 2023.06.15 - [개발 코딩 정보 공유/플루터 Flutter] - 앱개발 공룡 Flutter 설치진행 환경셋팅 방법 이번시간을 통해서 '일단 무지성 실행' 목표에 도달하게됩니다. 실행하기 일단 무지성 실행을 위해 아래의 세 가지 방법을 이용하겠습니다. 터미널 안드로이드 스튜디오 VS Code 터미널 맥 기준으로 터미널을 열어줍니다. 아래의 커맨드를 입력하겠습니다. >flutter create my_app >cd my_app 테스트 앱인 my_app 프로젝트를 생성해주고 해당폴더로 이동하겠습니다. 그리고 나서 실행할 devices 가 있어야 하겠죠? 저.. 더보기