홍루피의 블로그

고정 헤더 영역

글 제목

메뉴 레이어

홍루피의 블로그

메뉴 리스트

  • 홈
  • 방명록
  • 글쓰기
  • 루피의 지식 (116)
    • iOS (43)
      • 스탠포드 iOS 강의 (13)
      • iOS 지식 (23)
      • 디자인 패턴 (0)
      • CI&CD (3)
    • 알고리즘 (64)
    • 잡다구리 (9)
      • 웹 & 서버 (5)
      • 안드로이드 (2)
    • 일상 (0)

검색 레이어

홍루피의 블로그

검색 영역

컨텐츠 검색

전체 글

  • [iOS] UIBezierPath, CAShapeLayer로 꽃 그리기

    2025.05.07 by 홍루피

  • [iOS] WWDC 19: What's New in Core Bluetooth

    2025.05.04 by 홍루피

  • [iOS] Fastlane CI/CD 구축 시 발생 오류 및 해결법

    2025.03.14 by 홍루피

  • [iOS] Fastlane + Github Action으로 CI/CD 구축하기(2) - Fastlane Match를 활용한 인증서 관리 및 Github Action 연동

    2025.03.13 by 홍루피

  • [iOS] Fastlane + Github Action으로 CI/CD 구축하기(1) - Fastlane을 통한 TestFlight 업로드

    2025.03.13 by 홍루피

  • [iOS] Swift Concurrency(3) - Behind the scenes

    2025.02.25 by 홍루피

  • [iOS] Keychain으로 민감정보 저장하기

    2025.02.25 by 홍루피

  • [iOS] StackView를 사용한 채팅 UI 구현

    2024.11.28 by 홍루피

[iOS] UIBezierPath, CAShapeLayer로 꽃 그리기

UIBezierPath와 CAShapeLayer를 알아보고 간단한 꽃을 한번 그려보도록 하겠음지디가 생각나는 데이지 꽃을 그려보도록 하겠음 UIBezierPathUIBezierPath는 한마디로 말하면 경로를 그리는 거임이 경로라는 것은 직선, 곡선을 사용해서 직사각형, 타원 등등 그리고 싶은 걸 만들 수 있다는 걸 의미함 이걸 사용해서 저 꽃잎부터 그려보도록 하겠음. 가장 쉬운 방법은 타원을 여러개 붙이는 것임그래서 타원(oval)으로 패스를 생성해보겠음. 타원을 그릴때 인자가 CGRect인데 저 사각형 안에 꽉차게 원을 그리겠다는 것임넙적한 꽃잎모양이 되도록 90x30으로 만들어줌UIColor.white.setFill()을 통해서 현재 패스의 배경을 설정해줌. 색칠 하기 전에 물감 뭍히는 느낌이라고..

iOS/iOS 지식 2025. 5. 7. 22:49

[iOS] WWDC 19: What's New in Core Bluetooth

WWDC 19: What's New in Core Bluetooth영상을 보고 내용을 정리하여 포스팅합니다.BR / EDR 디바이스에 대한 지원 추가운영하는 전송방식에 관계없이 모든 블루투스 장치와 상호작용하도록 구성 * BR/EDR: 자동차 블루투스, 무선 이어폰 등 지속적 연결에 많이 사용되는 블루투스 클래식 기반 기술* BLE: 스마트 워치, 헬스케어 등 저전력, 비연속적인 연결에 주로 사용되는 기술 3개의 추진 목표가 있음1. 핵심 기술을 향상시키고 2. 개인정보를 보호하고 3. 더 나은 도구를 개발하는 것LE2 메가비트 개선LE2 Mbps는 블루투스 5.0의 새로운 기능으로 무선속도가 1에서 2Mbps로 증가 가능이는 동일한 시간에 두 배의 비트수를 전송할 수 있어 연결이 빠르고 전력 효율성이 ..

iOS/iOS 지식 2025. 5. 4. 21:10

[iOS] Fastlane CI/CD 구축 시 발생 오류 및 해결법

거창하게 오류 해결법인데 사실 자잘한 버그..(지만 계속 실행 실패하고 눈물 흘린 것들)을 정리하고자 함. 이전글 [iOS] Fastlane + Github Action으로 CI/CD 구축하기(1) - Fastlane을 통한 TestFlight 업로드[iOS] Fastlane + Github Action으로 CI/CD 구축하기(2) - Fastlane Match를 활용한 인증서 관리 및 Github Action 연동 1. 빌드 시 타임아웃 오류 /opt/homebrew/lib/ruby/gems/3.3.0/gems/fastlane-2.226.0/fastlane_core/lib/fastlane_core/project.rb:437:in `rescue in build_settings': [!] xcodebuil..

iOS/CI&CD 2025. 3. 14. 22:18

[iOS] Fastlane + Github Action으로 CI/CD 구축하기(2) - Fastlane Match를 활용한 인증서 관리 및 Github Action 연동

이전글[iOS] Fastlane + Github Action으로 CI/CD 구축하기(1) - Fastlane을 통한 TestFlight 업로드 이전글에 이어 이번엔 아래 내용들을 기록해보도록 하겠음(1) Fastlane Match를 통해 인증서를 관리 (2) Github Action을 Fastlane과 연계해서 TestFlight 업로드 (Feat. SSH, Github Secrets) Fastlane Match?대부분의 블로그를 찾아보면 이 Match를 사용하는데 왜 사용할까에 대한 의문을 가졌음.회사에서 팀으로 앱을 개발한다고 했을 때 인증서와 프로필을 관리한다면 인증서 만료 시점, 또는 새로운 기기에 설치한다고 했을 때 이 인증서를 갱신하고 다운로드 하는 과정에서 많은 리소스가 소모되게 됨.그래서..

iOS/CI&CD 2025. 3. 13. 23:07

[iOS] Fastlane + Github Action으로 CI/CD 구축하기(1) - Fastlane을 통한 TestFlight 업로드

개인앱을 앱스토어에 빌드하고 아카이브 하는 과정이 너무 귀찮아서 배포를 자동화 할 수 있는 방법을 찾아보았음.CI/CD 도구를 이용하면 배포 자동화를 쉽게 할 수 있는데 이 과정에 대해 단계별로 기록해봄. 다음글 🐥 [iOS] Fastlane + Github Action으로 CI / CD 구축하기(2) - Fastlane Match를 활용한 인증서 관리 및 Github Action 연동[iOS] Fastlane CI / CD 구축 시 발생 오류 및 해결법 CI / CD란?CI(Continuous Integration): 지속적인 통합작업한 코드를 주기적으로 빌드하고 테스트해서 레포지토리에 통합하는 것을 말함지속적 통합을 통해 개발 생산성을 높이고 코드 퀄리티를 향상시킬 수 있다. CD(Continuo..

iOS/CI&CD 2025. 3. 13. 21:56

[iOS] Swift Concurrency(3) - Behind the scenes

Swift Concurrency(1), (2)에서는 기본적인 async-await 동작과 continuation에 대해 다뤄 보았음.이번 글은 Swift Concurrency의 동작원리에 대해 알아보고자 하며 WWDC 영상을 정리한 글임.아래 영상을 보거나 글을 먼저 읽고 이 글을 읽는 것을 추천함. (WWDC 21) Swift concurrency: Behind the scenes Swift Concurrency(1) - Async와 AwaitSwift Concurrency(2) - Continutation GCD와 스레드 익스플로전GCD를 사용할 때 어떤 문제가 발생할 수 있을지 먼저 살펴보겠음.네트워킹을 통해서 여러 주제의 뉴스 피드를 가져오고 이를 데이터베이스에 순차적으로 저장하는 앱을 만든다고 ..

iOS/iOS 지식 2025. 2. 25. 21:41

[iOS] Keychain으로 민감정보 저장하기

앱에 저장해야할 정보는 어떻게 저장하면 좋을까UserDefaults를 사용하면 앱의 첫 진입여부나 간단한 설정정보를 저장할 수 있었음.하지만 민감정보(아이디, 패스워드, 카드 정보 등)을 UserDefaults에 저장하는 것은 좋은 방법이 아닐 수 있음. UserDefaults vs KeychainUserDefaults샌드박스 내부에 저장되는 key-value 형태의 데이터 저장 인터페이스임. 앱을 삭제할 경우 데이터가 삭제됨.앱 시작시점에 UserDefaults.plist 파일이 메모리에 로드되기 때문에 많은 데이터를 저장하는 것은 성능저하를 일으킬 수 있음.그렇기 때문에 간단한 설정정보만 저장하는 것이 권고됨. Keychain디바이스 안에 암호화된 데이터 저장공간으로 앱 삭제 후 재설치해도 데이터가 ..

iOS/iOS 지식 2025. 2. 25. 20:00

[iOS] StackView를 사용한 채팅 UI 구현

채팅앱을 만들면서 채팅 UI를 어떻게 그려야할지에 대한 트러블 슈팅프로필 영역과 닉네임은 고정으로 값이 있는 영역이고 채팅은 케이스가 세개임1. 텍스트만 있는 경우2. 이미지만 있는 경우3. 텍스트 + 이미지가 함께 있는 경우 텍스트 영역 & 하단 이미지 영역을 하나의 스택뷰로 감쌈 스택뷰를 사용한 이유처음에는 스택뷰를 사용하지 않고 UI를 작성하였는데텍스트만 있는 경우나 이미지만 있는 경우에 제약조건을 재설정해주어야 하는 번거로움이 있었음그에 따라서 시간을 나타내는 Label에 대한 제약조건도 변경되어야 하기 때문에 상당히 번거롭게 느껴짐 스택뷰를 사용하면 텍스트 or 이미지가 없는 경우 그냥 Hidden만 시키면 됨또 스택뷰의 Bottom과 시간 Label의 bottom을 맞춰놓으면 스택뷰의 크..

iOS/iOS 지식 2024. 11. 28. 18:26

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 ··· 15
다음
TISTORY
홍루피의 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바