전체 글 24

[ISSUE] XcodeCloud Archive Error

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다! 오늘은 XcodeCloud를 사용하던 중 발생했던 이슈에 대해 이야기 해보려고 합니다! 사실 결론부터 말하면 굉장히 허무했지만 처음 겪은 이슈인 만큼 정리해두면 다시 기억하기도 좋고 혹시나 저 같은 분이 계실까 싶어 정리해보도록 하겠슴다! 1. Command SwiftCompile failed with a nonzero exit code XcodeCloud를 통해 Archive를 진행하던 중 위 에러가 발생했습니다. 사실 위 에러는 굉장히 많은 이유로 발생할 수 있는 에러이기 때문에 저 메세지만 보고서는 어떤 문제인지 파악할 수 없기 때문에 Archive Lo..

Issue 2024.04.18

[iOS] The Composable Architecture(TCA) 도입하기

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다! 오늘은 TCA를 어떻게 사용하는지, 도입하고 어떤 점이 좋았는지에 대해 생각 정리를 해보겠습니다! 혹시나 TCA를 모르시는 분은 아래 링크를 참고해 주세요! https://woo0dev.tistory.com/19 [iOS] SwiftUI + MVVM에 대한 고찰 (편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 오늘 글은 순전히 내 개인적인 궁금증에 의한 글이며 혼자 생각해봤던 내용을 정리 woo0dev.tistory.com 버튼을 눌렀을 때 숫자가 올라가는 예제를 통해 기본적인 사용법을 알아보도록 하..

iOS 2024.02.28

[iOS] Realm에 대해 알아보자(feat. SwiftUI + TCA)

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다. 오늘은 Realm에 대해 알아보려고 합니다. Realm은 이미 많은 분들이 사용하고 계시고 iOS를 개발하면서 내부에 데이터를 저장할 때 많이 쓰는 라이브러리인데요! 실제로 제가 사이드 프로젝트에 도입하면서 공부했던 내용과 겪었던 이슈들을 정리하는 시간을 가져보려고 합니당! Realm? Realm은 오픈소스 데이터베이스(DBMS)로 모바일을 주요 타깃으로 삼은 데이터베이스 라이브러리입니다. iOS에서는 기본적으로 제공하는 UserDefaults, CoreData가 있고 외부 라이브러리인 SQLite도 있어 이들과 많이 비교를 하곤 하는데요! 위에서 말한 것들 ..

iOS 2024.02.28

[Issue] Xcode Cloud Custom Build Scripts

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다. 오늘은 Xcode Cloud를 활용해 CI/CD를 구축하던 중 생긴 이슈와 어떻게 해결했는지 정리해보도록 하겠습니다!! 이슈는 총 두가지지만 둘 다 custom build scripts를 활용해야 하는 이슈이기 때문에 한 번에 정리하겠습니당 1. Target '*' must be enabled before it can be used. 해당 이슈는 외부 패키지의 매크로를 사용하기 전에 유효성 검증 과정이 필요한데 이와 관련된 문제입니다. 참고로 Xcode Cloud에서 SPM로 추가된 종속성은 별도 구성 없이 사용할 수 있다고 하며 Cocoa Pods나 Cart..

Issue 2024.02.27

[iOS] Xcode Cloud를 사용해 CI/CD 구축하기

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다. 오늘은 Xcode Cloud는 무엇이고 어떻게 활용하는지에 대해 간단한(?) 설명을 해보려고 합니다! 혹시 여러분은 CI/CD에 대해 알고 계신가요? 저도 들어만 봤지 실제로 써보는 건 처음인데 정말 신세계를 경험한 느낌입니다😄 CI(Continuous Integration): 지속적인 통합. 빌드/테스트를 자동화 CD(Continuous Deployment): 지속적인 배포. 배포 자동화 기존에는 Github Actions + Fastlane 조합으로 CI/CD를 많이 설계해 사용해 왔는데 WWDC21에서 등장한 Apple에서 제공하는 CI/CD 서비스입니다..

iOS 2024.02.27

[Issue] SwiftUI NavigationLink의 상태 관리

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 안녕하세요! Hatchling입니다. 오늘은 개발을 하던 중 만난(원하지 않은..) Navigationlink와 관련된 issue를 정리하면서 NavigationView도 같이 정리해보도록 하겠습니다! (참고로 저는 iOS 16+로 개발 중입니다.) 일단 제 상황은 NavigationStack에서 NavigationLink를 사용해 View를 관리하고 있었고 데이터를 배열로 관리해 각 요소를 SecondView로 보여주는 아주 일반적인 구조를 가지고 있습니다만.. 저는 SecondView안에서 앞 뒤 다른 데이터를 가져와 새로운 View처럼 사용하고 싶었단 말이죠???? 여기서 문제가 생겼습니다...

Issue 2024.02.19

[iOS] SwiftUI + MVVM에 대한 고찰

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤗) 오늘 글은 순전히 내 개인적인 궁금증에 의한 글이며 혼자 생각해봤던 내용을 정리하는 용도이지 다른 사람들에게 정답을 제시하거나 하는 글은 아님을 밝힙니다. 요즘 SwiftUI에 대해 공부하고 있는데 내가 개발을 시작하기 전 가장 많은 시간 고민하는 부분이 방법론이다. 개발할 때 문제들을 해결할 수 있는 방법론들을 찾아보다가 과거에 MVVM으로 개발하면서 의존성에 대한 부분을 신경쓰지 않고 개발하다가 아작난 경험이 있어 이 부분을 보완해보고 싶어 MVVM + Clean Architecture를 적용해보던 중 급 의구심이 들었다. SwiftUI는 View에서 Property Wrapper를 통해 상태..

iOS 2024.02.05

[iOS] Apple MusicKit 활용하기

안녕하세요!!! 오늘은 AppleMusic과 연동되는 Application을 개발하면서 접하게 된 MusicKit에 대해 알아보겠습니다!! 먼저 AppleMusic을 활용해서 앱을 만들려고 했던 건 아니었고.. 처음엔 YouTubeMusic이나 Melon 같은 한국 사용자가 많은 음원 사이트를 활용하고 싶었으나 원하는 API를 제공하지 않아서.. AppleMusic API를 찾아보게 되었는데 다양한 기능들(음원, 플레이리스트, 재생 등)을 제공하는 것을 알게 되었습니다! MusicKit을 활용하기 위해선 developer program에 가입해야 합니다ㅠㅠㅠ 이미 가입중이거나 가입해보셨던 분들은 아시겠지만 조큼.. 비쌉니다😢 99달러... developer program에 가입하게 되면 직접 앱을 마켓에..

iOS 2024.01.11

[SwiftUI] SwiftUI에서 NaverMap 사용하기

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤩) 안녕하세요! 오늘은 SwiftUI에서 NaverMap을 띄워보는 과정을 알아보도록 하겠습니다! 왜 이걸 포스팅까지 하냐면요! 1. NaverMap은 아직까지 UIKit만을 지원한다. (그럼 SwiftUI는..?) 2. NaverMap 사용을 위해 필요한 Client Key를 숨기고 싶다. 사실 이 내용을 포스팅하려고 한 이유는 두번째가 큽니다.. 실제로 깃허브에 올라가는 사이드 프로젝트를 진행하다가 Client ID를 info.plist가 아닌 별도 plist에 작성하고 해당 파일을 gitignore에 추가해 숨기려고 했지만 관련 내용을 정리해둔 레퍼런스를 찾지 못해 혹시 저랑 비슷한 상황이신 분..

iOS 2023.07.26

[Swift] 고차함수란?

(편의상 편한 말투로 작성하는 점 이해 부탁드립니다.😅) (부정확한 정보가 있을 수 있습니다. 지적 환영🤩) 안녕하세요! 오늘은 고차함수라는 것에 대해 알아보도록 하겠습니다!! Swift에서 고차함수는 함수의 매개변수로 함수를 받거나 함수를 반환하는 함수를 말합니다. 고차함수로는 map, filter, reduce, flatMap, compactMap, forEech 등이 있지만 이번에는 제일 많이 사용하는 map, filter, reduce에 대해 알아보겠습니당! map map 함수는 Collection, Sequence 프로토콜을 준수하는 타입에서 사용이 가능합니다. 예를 들면 Array, Dictionary, Set, Optional 등에서 사용이 가능하겠군요! map 함수는 자기 자신을 호출할 때..

Swift 2023.06.23