전체 글 188

[Dynamic Island⛰️] Live Activity로 피자 배달을 하자.🍕 - 실시간 알림

안녕하세요...오늘은 다이나믹 아일랜드에 대해 오랜만에 글을 써볼건데,사실 다이나믹 아일랜드가 나온 지는 꽤 됐습니다. 2023년이었나? 그러나 그동안 관심을 갖지 않았습니다.왜냐면 제 폰은 다이나믹 아일랜드를 지원하지 않는 아이폰12였기 때문입니다.ㅋㅋㅋ 그러나,최근에 폰을 바꾸고 난 후 갑자기 신경쓰이더라군요...다이나믹 아일랜드... 귀엽네... 나도 해볼까...? ㅎ_ㅎ 생각보다 어렵지 않았습니다.일단 위젯과 같이 SwiftUI 기반으로 이루어지며, 새로운 타겟으로 추가해줘야하고,실시간 데이터 변화는 앱에서 조절해주면 됩니다. File > New > Target > 'Widget Extension' 으로 위젯 익스텐션을 추가해주는데,Include Live Activities를 꼭 체크해줘야합..

🍎 iOS 2025.05.29

[iOS/NFC] CoreNFC로 NFC 읽기/쓰기

요즘 유행하는 '네잎클로버 키링'을 아시나요?!네잎클로버 모양으로 되어있는 귀여운 키링을 iPhone디바이스에 태그하면, 오늘의 운세가 나옵니다. 귀여워서 저 같아도 한번 사볼 것 같아요...해당 키링의 주요 기술은 NFC 태그입니다.iOS 개발자로써, 한번 시도해볼 수 있지 않을까? 싶어 공부를 해보았습니다.  CoreNFCiOS에서는 CoreNFC로 스캔 및 읽기/쓰기를 할 수 있습니다.그러나 그 전에, 스캔을 할 수 있는 NFC태그를 공수해와야겠죠? 네이버에 'NFC스티커'라고 쳐서 나오는 아무 스티커를 구매해보았습니다.무려 개당 230원?!싸다 싸  그리고 간단하게 앱을 만들어볼게요.여느 다른 프레임워크와 같이, 코어NFC를 쓰려면 NFCTagReaderSession 델리게이트를 해야합니다.  일..

🍎 iOS 2024.12.29

Jazzy로 모듈 문서화를 해봅시다. 🎶

프로젝트를 하다보면 여러 모듈을 생성하고, 이를 문서화해 팀원들 및 인수인계 시 공유할 일이 많습니다.모듈을 문서화하기 위한 대표적인 툴로 Jazzy가 있습니다. 하지만 유의해야할 점은, 문서화를 하기에 앞서 코드 상으로 꼭 '주석처리'를 규칙에 맞게 해줘야한다는 점입니다.규격에 맞게 주석을 작성해놔야, Jazzy가 이를 인식하고 문서화를 해주는 원리입니다. 어떻게 작성하냐고요?갓지피티한테 'Jazzy로 문서화할 건데 이에 맞게 이 코드에 대한 주석을 작성해줘.'라고 하면 다 해줍니다. ㅋㅋ  일단 Jazzy로 문서화를 하는 방법을 알아보죠!Jazzy 설치 sudo gem install jazzy  스크립트 작성프로젝트의 루트 디렉토리로 가서 해당 스크립트를 작성합니다.jazzy \> --module [..

🍎 iOS 2024.11.17

[DI] Swinject - 의존성 주입 툴

의존성 주입을 간편하게 정의해주는 Swinject라는 라이브러리가 있습니다.기존의 방식과는 살짝 다르죠. 한번 알아봅시다. Why Swinject? 기존: 수동 의존성 주입 기존에는 아래와 같이 별도의 라이브러리 없이, 클래스 초기화 시 의존성을 주입시켰습니다.  init() { self.itemService = ItemServiceImpl() self.viewModel = ItemViewModel(itemService: itemService) super.init(nibName: nil, bundle: nil)} Swinject: 자동 의존성 주입 그러나 Swinject를 쓰면, 의존성 주입을 중앙 집중식으로 관리할 수 있습니다. import Swinjectlet container = C..

🍎 iOS 2024.11.17

Xcode Template으로 개발시간 단축하자 🕑

Xcode Template?정말 제가 현업에서 유용하게 쓰는 템플릿을 가져왔습니다.Xcode Template이라고, 파일을 처음 생성할 때 뜨는 이 창 있잖아요? 여기 뜨는 이 모든 것들이 다 애플이 만든 템플릿이라고 보면 되겠습니다.이젠 제가 저의 코드 스타일에 맞게 커스텀 템플릿을 만들어보겠습니다. Custom Template 생성하기일단 이 기본 템플릿이 있는 경로에 들어가서,내가 커스텀한 템플릿을 넣어주는 게 당연하겠죠? 다음 경로로 들어가서 Finder로 확인해봅시다.cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templatesopen . 보면 File Templat..

🍎 iOS 2024.05.15

[Tuist] 트위스트 추면서~🕺 프로젝트를 모듈화 시키기

Tuist를 쓰고자 하는 이유Tuist를 쓰면, 내가 원하는 구조대로 모듈을 생성해주고 프로젝트를 분리해준다.요즘따라 어떻게 하면 코드를 더 편하게 짤 수 있을까를 생각하며 작업을 했던 터라,한번에 모듈화를 자동으로 시켜주는 도구가 있다고 해서 계속 써보고 싶었다. 사실 Tuist는 이전부터 알고 있었지만, 게으른 탓에...^^그동안의 프로젝트에서는 코드를 한번에 작업하거나, Framework로 추출시켜 Embeded/Link 시키는 방식으로만 작업했었다.위의 방법은 굉장히! 비효율적이고 귀찮았지만, 기존 프로젝트에서 사용하는 코코아팟을 그대로 이어서 작업하고 싶어서 그렇게 작업했던 것이다. 그러나 최근 새로운 플젝을 시작하게 되며,이왕 노베이스로 시작하는 거 Tuist를 도입해보자는 생각이 들었던 것 ..

🍎 iOS 2024.05.15

비밀 키 교환 알고리즘, 그리고 종간단 암호화 비밀 채팅

목차 비밀 키 교환 알고리즘 종간단 암호화를 활용한 비밀 채팅 기능 iOS에서의 종간단 암호화 비밀 키 교환 알고리즘 = 디피 헬만 알고리즘 비밀 키 교환 알고리즘을 구글에 치면, 디피 헬만 알고리즘이 나온다. 줄여서 DH 알고리즘이라고 하는데, 한 줄로 정리하자면 다음과 같다. '상대방의 공개키와 나의 개인키를 이용하여 계산을 하면 비밀키가 나온다는 것' 이산 대수 문제 또는 이산 로그 라고 불리는 이 식을 사용한다. 디피 알고리즘의 동작 원리에 대해서는 다음 두 글이 잘 설명해주고 있다. 디피 헬만 알고리즘이란? 디피 알고리즘에서 1024비트가 취약한 이유? 색깔로 아주 쉽게 설명한 그림도 있다. 그렇다면? 제가 이 알고리즘을 알아본 이유는~ 비밀 채팅을 위해서입니다. 종간단 암호화를 활용한 비밀채팅..

🍎 iOS 2023.07.16

[CI/CD] Fastlane을 활용한 Testflight 배포 자동화

아웅.. 귀찮다.... 배포 자동화를 뭐로할까 Github Action으로 할까 Fastlane 쓸까 고민 하다가 Fastlane으로 했다 훨씬 간편하구... 나중에 깃헙 액션이랑 합치면 더 좋을 거 같은데 넘 귀찮구만 1. fastlane 설치 일단 fastlane을 설치해줘야합니다. 저 같은 경우는 homebrew로 설치해줬습니다. 사실 brew가 원래 없었는데 강사님이 어케어케 설치해주셨던게 생각나서 기냥 이걸루 했슴다 brew install fastlane 2. fastlane 설정 해당 프로젝트가 있는 곳으로 이동 후! init을 해줍니다. fastlane init 그럼 귀여운 로켓이 나옵니다~ 로켓 하니까 생각난건데 다들 가오갤 보셨나요.. 영화관에서 눈물을 펑펑 흘렸슴다.. 로켓... ㅠㅠ ..

🍎 iOS 2023.05.21

[iOS] Snapkit을 활용한 제약조건 변경

맨날 까먹어서 적어놔야겠다.ㅎ 요구사항은 아래 이미지와 같다. 에러 메세지가 보임에 따라 간격이 달라져야하는 것이다. 안드로이드에서는 Gone이라는 속성이 있어, 에러메세지를 Gone 처리하면 자동으로 아래 뷰들은 위치 및 간격이 변경된다. 그러나! iOS에서는 Gone 처리가 따로 없고 hidden처리만 할 수 있는데, 에러메세지를 hidden 처리를 해도 기존의 간격은 그대로 출력된다. 이럴 때 여러 방법이 있다. 1. StackView 사용 스택뷰의 높이는 내부의 컴포넌트들에 영향을 받아 설정되기 때문에, 특정 뷰를 hidden 처리하면 자동으로 높이가 재설정된다. 그러나 귀찮다. 2. Constraint 참조 후, 간격 update var intervalConstraint: Constraint? ..

🍎 iOS 2023.05.20

오픽 2일의 전사 - IH

영어 자격증 따려다가 마침 오픽이 내년부터 가격 인상된다길래 그냥 바로 접수해서 시험봤다. 7만원도 비싼데 8만원으로 오른다니요 점수 잘 안 나오면 내년에 느긋하게 토익이나 토스 준비해야겠다 생각했다. 보통 기업에선 IM 이상을 요구하는 것 같다. IL > IM > IH > AL 순으로 등급이 높은데, AL을 받으려면 영어 개 잘해야한다. 솰라솰라 바로 나올 정도로! 난 그정도는 아니기 때문에 IH를 목표로 했다. IM이 나와도 상관없었다. 오픽 준비 시간 귀찮아서 미루고 미루다가 시험 전날에 시작함.ㅎㅎ (12/22 오픽 공부 시작 -> 12/23 저녁 응시) 대충 후기 보니까 '오픽노잼' 이라는 유툽컨텐츠를 본다고 하길래 봤다. 한 영상 당 10-20분 내외로 짧다. 근데 그것마저 귀찮아서 영상 6개..

기타 2022.12.31