ios
-
[iOS] SQLite DB 확인하기ios/ios 2024. 6. 10. 16:57
SQLite를 사용하기 위해 DB테이블에 값들이 잘 처리되어 있는지 확인해야 할 경우가 있습니다. SQlLite는 내장 데이터베이스이기 때문에 앱 파일안에서 DB파일을 찾아내서 테이블을 확인할 수 있습니다. 먼저 SQLite 프로그램을 설치해야 합니다. 아래 설치링크에서 자신의 운영체제에 맞게 설치하시면 됩니다 저는 맥을 사용하기 때문에 mac OS로 설치를 했습니다.https://sqlite.org/download.html SQLite Download PageTemplates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used f..
-
[ios] Clean Architecture + MVVM-C (1)ios/ios 2024. 3. 9. 19:46
처음에 만들었던 프로젝트를 구경하다가 코드가 매우 지저분하다고 느낀 적이 있습니다. 유지보수를 위해서는 기능, 역할에 따라 코드를 잘 분리하고 분리하기 위해서는 좋은 아키택처를 사용해야 합니다. 그래서 Clean Architecture와 MVVM에서 뷰의 관리를 따로 두는 MVVM-C를 공부해 보았습니다. 먼저 MVVM은 Model, ViewModel, View 3가지의 계층으로 코드의 역할을 분리한 아키택처입니다. Model - 애플리케이션에서 데이터를 나타냅니다. - 데이터를 가져오고 저장하는 역할을 수행합니다. View - 시각적인 요소를 나타냅니다. (UI, Layout) - 사용자의 입력을 받고 정보를 표시하는 역할을 합니다. ViewModel - View와 Model의 중간 매개체로써 뷰에 데..
-
[iOS] Coordinator 패턴ios/ios 2024. 2. 5. 18:26
Coordinator패턴? 앱을 제작할 때 다양한 아키택처 패턴을 자주 사용합니다. 그중 MVVM 아키텍처 패턴을 사용하는 이유 중 하나는 "ViewController가 하는 일을 줄이자"입니다. 기존 MVC 패턴에서는 ViewController가 너무 많은 일을 하기 때문에 그중 비즈니스 로직을 viewModel 계층에 넘겨서 ViewController 가 하는 일을 줄이게 되었습니다. MVVM-C 패턴도 마찬가지로 ViewController가 하는 일을 줄이기 위해 만들어진 패턴입니다. 뷰를 이동하는 코드를 작성할 때 ViewController에서 push/pop, present/dismiss를 구현해서 사용했습니다. 뷰가 간단하면 관리가 쉽겠지만 복잡해진다면 관리가 어려워집니다. 따라서 MVVM-C..
-
[iOS] APNs 뜯어보기(4) - 서버에서 푸시알림 보내기ios/ios 2024. 1. 23. 16:45
서버에서 앱으로 푸시 알림을 보낼 때는 밑에 사진과 같이 사용자에게 다양한 방법으로 보낼 수 있습니다. 이때 보낼 수 있는 용량은 정해져 있는데 VoIP(Voice over Internet Protocol) 알림의 경우는 최대 5KB, 나머지 다른 원격 알림의 경우는 최대 4KB의 용량이 정해져 있습니다. 서버에서 APNs을 통해서 앱에 푸시 알림을 보내기 위해서는 4가지가 있어야 합니다. APNs에 푸시알림을 보낼 서버 Apple 푸시 알림 서비스(APNs) 사용자의 장치 (디바이스 토큰) 사용자의 기기에서 실행되는 앱 서버에서 APNs에 푸시 알림을 어떤 방식으로 어떤 내용을 보낼지 알려주기 위해서는 아래 코드처럼 json Payload을 보내야 합니다. { "aps" : { "alert" : { "..
-
[iOS] APNs 뜯어보기(3) - 호출 순서ios/ios 2023. 11. 17. 17:18
APNs의 호출순서는 아래 그림과 같습니다. 이 호출 순서를 코드로 확인해 보겠습니다. 1. 권한 요청, 디바이스 토큰 요청 apple은 디바이스에서 어떤 기능을 사용하려고 하면 사용자에게 권한을 요청합니다. 푸시 알림도 사용자에게 권한을 요청해야만 푸시알림을 받을 수 있습니다. 먼저 디바이스 토큰을 얻기 전에 UNUserNotificationCenter에 있는 메소드인 requestAuthorization()을 사용해서 권한을 요청할 수 있습니다. 매개변수인 options에는 6가지의 옵션을 넣을 수 있습니다. alert : 푸시 알림 sound : 알림을 받을 때의 소리 badge : 알림이 왔을 때 앱 아이콘 오른쪽 상단에 나타나는 숫자 carplay : carplay 환경에서 알림을 표시하는 기능..
-
[iOS] APNs 뜯어보기(2) - p8토큰ios/ios 2023. 10. 28. 00:14
APNs를 사용하기 위해 준비해야 할 것은 2가지 입니다. 각각 인증키와 디바이스 토큰입니다. 인증키는 p8토큰과 p12인증서가 있는데 애플에서는 p8토큰방식을 사용하는 것을 권장하고 있습니다. p8토큰과 p12인증서의 차이점을 간단하게 표로 나타내면 아래와 같습니다. 인증방식 만료기간 적용앱수 p8 token 영구 여러개 p12 certificate 1년 각 앱마다 인증서 1개씩 p8토큰은 p12인증서와는 다르게 만료기간이 영구적으로 사용할 수 있습니다. 따라서 귀찮게 갱신할 필요성이 없습니다. 다만 p8토큰은 한번 다운로드 받으면 다시는 받을 수 없기 때문에 처음 받아 놓은 토큰을 잘 저장해서 관리해야 합니다. p8토큰을 만드는 방식은 간단합니다. 1. 애플 developer사이트에 keys카테고리에..
-
[iOS] APNs 뜯어보기(1) - APNs란?ios/ios 2023. 7. 8. 17:21
APNs란? Apple Push Notification Service의 약자로 Apple 푸시 알림 서비스입니다. 요즘 앱에는 push알림이 없는 앱이 없는데 ios는 서버에서 그냥 디바이스로 푸시 알림을 보낼 수 없습니다. 그렇다면 ios폰에는 어떻게 푸시를 보내는 걸까요? apple 공식 사이트에 나와 있는 사진을 보면 provider server에서 device로 바로 푸시알림이 오는 것이 아닌 APNs를 한번 거쳐서 device로 오는 걸 볼 수 있습니다. APNs에서 제공하는 기능들은 다음과 같습니다. 간단하게 요약하면 APNs는 사용자 장치와의 인증되고 암호화된 지속적인 ip관리를 합니다. APNs는 오프라인인 장치를 위해 푸시 알림을 저장할 수 있습니다. 이후 장치가 온라인 상태가 되면 저장..