iOS
-
Get started with privacy manifests (feat. WWDC 2023)iOS 2023. 12. 28. 19:20
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 WWDC 23에서 또 하나 나온 Get started with privacy manifests라는 섹션을 학습해보면서 왜 어떻게 적용해야하는지 포스팅해보려고 합니다 🙋🏻 News 📰 애플은 올해 WWDC 2023에서 개인정보 보호 관련하여 새로운 소식을 전달했습니다. 바로, 명확히 몇월 몇일까지는 나오지 않았지만 2024년 봄 (이제 진짜 얼마 안남았네요ㅎㅎ)부터 앱 스토어에 앱을 새롭게 등록하거나 업데이트를 할 때 앱 리뷰 과정에서 개인정보 보호 관련한 몇가지 항목들의 심사가 추가된다고 합니다 🥲 하나씩 알아볼까요? 1️⃣ Privacy Manifest 우선 오늘 이어서 WWDC 23의 Get started with privacy manifests 섹션 영상..
-
UITest에서 accessibilityIdentifier 활용하기iOS 2023. 12. 18. 19:46
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 UITest에서 accessibilityIdentifier를 활용하는 방법에 대해 학습해보겠습니다 🙋🏻 우선 accessibility 접두사가 붙은 모디파이어들이 낯설지는 않은데요! 이전 포스팅이였던 VoiceOver 적용하기에서 많이 소개가 되었어요 😃 SwiftUI에서 VoiceOver 사용하기 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 SwiftUI에서 VoiceOver를 적용하고 사용하는 방법에 대해 알아보려합니다 🙋🏻 이번 포스팅에서는 VoiceOver가 무엇이고 SwiftUI에서 어떻게 적용 및 사 green1229.tistory.com 여기서 각 UI 컴포넌트들에 보이스오버를 적용하는 방법으로 accessibilityLabel이라는 메서드가 사용..
-
앱 지원 언어 추가 및 기본 언어 변경 (feat. Tuist)iOS 2023. 12. 14. 19:40
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 앱의 기본 언어를 변경하는 방법과 다양한 언어를 지원하는 방법 그리고 Tuist로 설정하는 방법에 대해 학습해보겠습니다 🙋🏻 사실 되게 간단하긴해서 후다닥 한번 정리해볼께요 😀 왜 알아보고 정리하게 되었는지? 사실 VoiceOver를 한번 도입해보면서 필요하다고 느껴졌어요. 왜냐면 기존 앱이 전체 국내 배포인 한글 앱임에도 불구하고 기본 언어 설정이 English로 되어 있었거든요. 그렇기에 사실상 문제가 되는 부분은 없었지만, 보이스오버 기능을 켜고 실제 기기에서 한글 텍스트를 읽으면 못 읽을 경우가 있더라구요. 물론, 앱 내 애플 로그인 버튼 등 애플에서 기본 제공하는 API 그런것들에 대해서는 한글로 읽어주지만 개발자가 String으로 넣은 Text들은 ..
-
Core Data 파헤치기 🔍iOS 2023. 12. 7. 19:15
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 iOS의 Core Data에 대해 한번 파해쳐보려고 합니다 🙋🏻 왜 파헤치기로 해봤는지? 아주 오래전에..? 거의 처음 iOS를 배울때 Core Data를 학습하면서 해당 블로그 포스팅으로 기재한적이 있더라구요 😮 CoreData 안녕하세요. 그린입니다! 이번 포스팅에서는 CoreData(코어데이터)에 대해 알아보겠습니다..! 우선 코어데이터라는걸 알기전 데이터베이스에 대해 알아보고 차근차근 넘어가겠습니다☺️ 1. 데이 green1229.tistory.com 그래서 참고차 보려했는데, 큰 틀의 기본적인 개념들 위주로 되어 있어서 실제 블로그만 보고 적용이 어려웠어요. 위 블로그는 코어 데이터와 관계형 DB의 개념 설명에 초점을 맞춰서 이러한 녀석이다~ 소개였습..
-
자동 문자 결합 방지하기iOS 2023. 11. 30. 09:57
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 iOS 개발 시 자동 문자 결합을 방지해보는 구현을 한번 삽질해보겠습니다 🙋🏻 어쩌다 이걸 포스팅하게 되었지? 일단 사건의 전말은 이러합니다. 텍스트필드가 주어지고 최대 글자수는 8글자까지만 받으려고 합니다. 그렇기에 텍스트 필드에서 입력되어 만들어진 텍스트 String의 count가 총 8을 넘는지 판단해야겠죠? 자, 아래와 같은 코드가 있다고 가정해봅시다. import UIKit class ViewController: UIViewController, UITextFieldDelegate { let textField = UITextField(frame: CGRect(x: 20, y: 100, width: 300, height: 40)) let button = ..
-
CI & DI에 대해 알아보기 🔑iOS 2023. 11. 20. 10:56
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 CI & DI에 대해 알아보려합니다 🙋🏻 일단 개발에서 한번쯤 들어보셨을 친숙한 지속적 통합/배포를 나타내는 CI/CD가 아닙니다! 헷갈리시면 안됩니다 🙅🏻 그럼 CI & DI라는건 어쩌다 알아보려고 한거야~? CI & DI를 알아보게된 배경 일단 가장 대표적으로 다들 앱을 개발하다보면 회원가입 / 로그인 기능은 거의 구현해보는 기능일거에요. 근데 이런 고민 안해보셨나요? 소셜 로그인으로 카카오 로그인과 네이버 로그인, 애플 로그인을 구현해놨다고 가정해볼께요. 그럼 카카오 로그인으로 연동된 카카오 계정에서 이메일 및 닉네임을 받아와서 서버를 통해 DB에 값을 저장하겠죠? 그 다음 만약 로그아웃을 하고 네이버 로그인으로 연동된 네이버 계정에서 동일하게 이메일 및..
-
ATS (App Transport Security) 톺아보기iOS 2023. 11. 14. 10:04
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 App Transport Security라고 불리는 ATS에 대해 알아보고 우리 프로젝트에서 설정하는 학습을 해보겠습니다 🙋🏻 우선 ATS가 무엇인지 공식문서를 통해 학습해볼까요? ATS? 하나 먼저 알고 넘어가면 좋을것이 있습니다. 바로 서버와 통신할때 HTTP로 통신을 하면 전송 보안 이슈때문에 연결이 되지 않습니다! 이것을 ATS가 관여하는건데요. 즉, 애플 플랫폼에서 ATS라는 네트워킹 기능은 모든 앱과 앱 확장 프로그램에 대해 개인 정보 보호와 데이터 무결성을 향상시켜줍니다. 쉽게 말해보면 애플의 네트워크 보안 기능이라고 볼 수 있습니다 🔒 ATS에선 앞서 말했듯이 URLSession 클래스를 사용하는 즉, 모든 URL 로딩 시스템에서는 모든 HTTP..
-
인앱리뷰(In-App Review) 연동하기iOS 2023. 11. 9. 10:02
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 인앱리뷰(In-App Review) 연동하는 방법에 대해 학습해보겠습니다 🙋🏻 우선 인앱리뷰가 무엇인지 부터 알아보겠습니다. 인앱리뷰 (In-App Review) 인앱리뷰는 우리가 제공하는 앱 속에서 앱의 앱스토어 평점 및 리뷰를 남길 수 있도록 요청하는 기능입니다. 즉, 많이들 앱을 사용하다보면 이 앱의 평점을 남겨달라는 팝업이 뜰 경우를 종종 본적이 있으실거에요. 쉽게 말해, 앱 내에서 평점과 리뷰를 요청하는 기능이라고 정리할 수 있습니다. 그런데 이 인앱리뷰의 코드를 심어주어도 인앱리뷰를 띄우는 결정은 애플 내부 시스템에서 해주기에 개발자가 직접 컨트롤할 수 없는 부분들이 많습니다 🥲 인앱리뷰의 특징들을 조금 살펴볼까요? 인앱리뷰 특징 1️⃣ 시스템적으로..