iOS
-
자동 문자 결합 방지하기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️⃣ 시스템적으로..
-
Event CapturingiOS 2023. 10. 26. 13:29
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Event Capturing에 대해 한번 알아보겠습니다 🙋🏻 우선 우리는 이전 포스팅에서 Event Bubbling이라는 개념에 대해 알아봤어요! Event Bubbling을 가볍게 다시 리마인드 시켜볼까요? 한 요소에 이벤트가 발생하면, 이 요소에 할당된 핸들러가 동작하고 이어서 부모 요소의 핸들러가 동작하는것이 버블링의 원리 🫧 그렇기에 유저의 터치 이벤트를 처리하는 핸들러의 역할이 상단으로 전파될 수 있는것이죠. 만약 이벤트 버블링의 이해가 필요하시다면 이전 포스팅을 참고해주세요 🙏🏻 Event Bubbling 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Event Bubbling이라는 개념에 대해 학습해보겠습니다 🙋🏻 바로 이전 포스팅인 Borderle..
-
Event BubblingiOS 2023. 10. 23. 16:54
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Event Bubbling이라는 개념에 대해 학습해보겠습니다 🙋🏻 바로 이전 포스팅인 BorderlessButtonStyle에 대해 학습해보면서 짧게 이벤트 버블링이라는 개념이 적용되어서 그렇다~라고 소개만 하고 지나갔었는데요. 그걸 이번 포스팅에서 조금 더 구체적으로 알아보려합니다! 만약 BorderlessButtonStyle에서 어떻게 흐름상 말이 나왔는지 필요하다면 아래 포스팅을 먼저 참고해주세요 🙏🏻 BorderlessButtonStyle의 활용 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 SwiftUI의 버튼을 다룰때 스타일을 지정할 수 있는데요. 그 중 BorderlessButtonStyle을 알아보고 그 스타일을 어떻게 실전에서 적용하는 경우가 있..
-
메모리 덤프 분석 (feat. fridump)iOS 2023. 9. 14. 10:11
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 fridump를 이용해서 메모리 덤프 분석을 해볼까해요! 사실 보안팀에서는 각 앱의 보안을 진단하기 위해서 memory dump를 보고 분석하는 업무도 하고 있습니다. 즉, 사용자의 민감한 휴대폰정보 / 비밀번호 / 이메일 등 개인정보들이 실제 memory에서 사용 후 해제되지 않고 남아있는지, 그것으로 어떠한 탈취가 가능한 루트가 있는지 등을 파악하기 위해서는 앱의 메모리 덤프를 가지고 분석해보는것이 첫번째 단계일것 같아요 🙋🏻 근데 우리는 보안팀이 아니지만! 그래도 우리도 민감정보들이 메모리에 남아있지 않게 설계하고 구현했다 하더라도 검증은 해보는것이 좋겠죠? 그렇기에 이번 포스팅에서 메모리 덤프를 확인하는 과정까지 소개해볼까해요! 가장 우선되는건 frid..
-
앱 출시 - 숏스(SHORT NEWS) (feat. Mash-Up)iOS 2023. 7. 24. 14:36
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 제가 이번에 동아리에서 출시한 숏스(SHORT NEWS)라는 앱에 대해 소개해볼까해요 🙋🏻 잠깐, 어떤 동아리에서 그런걸 만들었는데? Mash-Up 제가 올해 2월부터 매쉬업(Mash-Up)이라는 IT 개발 동아리에서 13기 iOS 팀원으로 활동하고 있는데요! 매쉬업은 성장의 즐거움을 아는 개발자/디자이너가 만나 서로 세미나도 하고 스터디도 하고 그리고 프로젝트도 하는 다재다능한 동아리입니다 😃 홍보를 더 해보고 싶지만 너무 동아리 소개만 계속하면 해당 포스팅의 취지에 맞지 않을것 같아 이만 줄일께요. 혹시 매쉬업이라는 동아리가 어떤건지 더 궁금하다면 아래 공식 홈페이지를 참고해주시면 더 많은 도움이 될것 같아요 🙌 추가로, 현재 13기의 활동이 거의 끝나가며..