목록iOS (52)
BIBI BLOG

unexpectedly did not find the new dependency in the package graph:sourceControl(identity:jose-swift, location: SwiftPM.SPMPackageDependency.Source.... Error 해결방법(swift에서 jose import하는 방법) 원인해당 에러는 SwiftPM이 “jose-swift”라는 의존성을 찾지 못해, 패키지 그래프에 추가하지 못했다는 뜻입니다. 보통 아래 상황에서 발생합니다:URL 오타: 실제 레포지토리가 airsidemobile/JOSESwift.git인데, 오타나 대소문자 차이로 jose-swift를 적었을 때Package 이름과 제품(Product) 이름 불일치: SPM에서 “JOSES..

Swift의 Result 타입 살펴보기🏋️♀️Swift에서 Result 타입은 성공(.success)과 실패(.failure)를 간단히 표현할 수 있어, 네트워크 에러나 비동기 작업 등에서 자주 활용됩니다.하지만 보통 “결과 + 에러” 정도만 쓰고 넘기는 경우가 많습니다.이 글에서는 Result의 여러 기능을 좀 더 자세히 살펴보겠습니다.1. Throwing 함수를 Result로 바꾸기 (Result(catching:))일반적으로 Swift에서 throws 함수를 호출할 때,do-try-catch 구조를 여러 곳에서 중복으로 써야 하는 문제가 생길 수 있습니다.// 기존: 함수를 직접 try-catch로 호출func complexDataProcessing() throws -> ProcessedData..

[Swift] SOLID 원칙 살펴보기iOS 앱 개발을 진행할 때, 코드가 복잡해지고 유지보수가 어려워지는 상황을 피하려면 SOLID 원칙을 도입하면 좋습니다.이 문서에서는 SRP, OCP, LSP, ISP, DIP 다섯 가지 SOLID 원칙을 간단한 예시와 함께 살펴보겠습니다.1. 단일 책임 원칙 (SRP: Single Responsibility Principle)"클래스는 단 하나의 책임만 가져야 한다."한 클래스가 여러 역할을 동시에 맡고 있으면, 수정이 생길 때마다 코드가 불안정해집니다.예시: 병원 관리 시스템❌ 잘못된 예시class HospitalManagement { func registerPatient() { ... } func generateBill() { ... } fun..

iOS 개발 생산성을 높여주는 도구 모음🛠️Swift나 Objective-C로 iOS 앱을 개발하다 보면, 조금 더 빠르고 편리하게 작업할 수 있는 툴이 있으면 좋겠죠?이 글에서는 타입/모델 자동 생성부터 시퀀스 다이어그램, gitignore 생성, 프록시 툴까지,유용한 도구들을 간단히 모아봤습니다.1. 타입/모델 자동 생성 (quicktype)JSON 예시를 넣으면, Swift/Objective-C 등 여러 언어로 타입과 모델을 자동으로 만들어줌https://app.quicktype.io/사용 예JSON 형태의 API 응답 예시를 붙여 넣기 → Swift 모델 코드를 자동으로 생성 → 앱에 복사해서 사용2. gitignore 생성 (Toptal Gitignore).gitignore 파일을 생성할 때,..

[SwiftUI] SVG 이미지를 로드하는 방법🖼️(How to Load SVG Images in SwiftUI)이번글에서는 SDWebImage와 SDWebImageSVGCoder를 이용하여 SVG 이미지를 표시하는 방법을 알려드리겠습니다 :)먼저 두 라이브러리를 세팅하는 방법부터, SVG 이미지를 로드하는 과정을 단계별로 정리해볼게요.1️⃣ 필요한 라이브러리 설치SDWebImageSwiftUI이 라이브러리는 SwiftUI에서 인터넷 이미지를 로드하기 편리한 기능을 제공합니다.SDWebImageSVGCoderSVG 이미지를 SDWebImage에서 해석할 수 있도록 도와주는 코더입니다.– 이 패키지를 설치하면 SDWebImage도 자동으로 설치됩니다.GitHub 링크:SDWebImage/SDWebImag..

📌 [SwiftUI] Safari로 웹 링크 여는 방법 (Xcode 16.1 기준)(How to open web links in Safari)SwiftUI에서 버튼을 눌렀을 때 웹페이지를 Safari에서 여는 방법이 여러 가지 있습니다.오늘은 가장 쉽게 사용할 수 있는 두 가지 방법을 알려드리도록 하겠습니다!1️⃣ Link 뷰 사용하기SwiftUI에서는 Link라는 뷰를 제공하는데,이걸 사용하면 버튼처럼 보이지만 클릭하면 Safari에서 웹 페이지를 열어주는 기능을 해요.✅ 기본 사용법Link("SwiftUI 배우기", destination: URL(string: "https://www.hackingwithswift.com/quick-start/swiftui")!)✔️ "SwiftUI 배우기"라는 버튼..

📚async let vs Task group 비교Swift에서 비동기 작업(async tasks)을 다룰 때, async let과 TaskGroup은 매우 유용한 기능입니다. 하지만 두 개의 차이점을 제대로 이해하지 않으면 코드가 예상과 다르게 동작할 수도 있어요.오늘은 이 두 가지를 쉽게 비교하고, 어떻게 활용하면 좋을지 알아보겠습니다!1️⃣ async let 이란?✅ async let의 기본 개념async let을 사용하면 동시에 여러 개의 비동기 작업을 실행할 수 있어요.📝예제func fetchData() async { async let first = fetchPart1() async let second = fetchPart2() async let third = fetchPart..

📱 SwiftUI에서 메모리 사용 줄이기! ⚡SwiftUI로 앱을 만들다 보면, 어느 순간 앱이 점점 무거워지고 느려지는 걸 느낄 때가 있어요.메모리를 많이 쓰면 기기 성능이 떨어지고, 심한 경우 앱이 강제 종료될 수도 있죠.이런 문제를 방지하려면, SwiftUI의 동작 방식을 잘 이해하고 메모리를 효율적으로 관리하는 게 중요해요.이번 글에서는 앱을 더 가볍고 빠르게 만들 수 있는 실전 최적화 방법을 정리해보았습니다.🚀1️⃣ SwiftUI에서 메모리 사용 방식 이해하기SwiftUI에서는 UI가 상태(State)에 따라 자동으로 변경돼요.즉, 우리가 직접 화면을 업데이트할 필요 없이, 상태만 바꾸면 SwiftUI가 알아서 새로운 화면을 그려요.하지만, 잘못된 상태(State) 사용법이나 큰 데이터를 잘..