iOS

SwiftData 알아보기
목차SwiftData란?SwiftData 구조SchemaModelContainerModelContextCRUDBindable이번 포스팅은 WWDC23에서 발표된 SwiftData 를 알아보려고 합니다.바로 알아봅시다!SwiftData란?SwiftData란 애플에서 제공하는 로컬 저장소 프레임워크입니다. iOS 앱을 만들때 로컬 저장소로 많이 사용하던 프레임워크로는 애플의 퍼스트파티 프레임워크인 Core Data, 서드파티 라이브러리로인 Realm 등이 있었습니다. 저는 Realm만 써왔었는데, Core Data 보다 속도가 2배 빠르고 사용법이 간단해 빠르게 적용하기 좋아 Core Data 대신 Realm을 채택했었습니다. SwiftData는 Realm 대신 채택할 이유가 생길까요? 한번 SwiftDat..

InjectionIII 라이브러리를 적용하면서 마주한 이슈들
목차- 개요 -⚠️ Your project file seems to be in the Desktop or Documents folder ~- ⚠️ Could not locate compile command for ~- 실행 화면개요DemoApp을 만드는 작업 중에 UI 실시간 확인을 위해 InjectionIII 라이브러리를 도입하는 중이었는데요. InjectionIII 라이브러리 관련 글이나 자료가 많이 없어 이슈들을 직접 파악하고 해결하는데 시간이 좀 걸렸습니다. 추후 이 라이브러리를 도입하는 분들은 문제를 해결하는데 조금이나마 도움이 되었으면 해 글을 작성하게 되었습니다. ⚠️ Your project file seems to be in the Desktop or Documents folder ~해당 ..

Swift 찍먹하기
목차 Swift란? 더욱 빠른 성능 Fast 더욱 안전하게 Safe 세련된 표현 Expressive 다중 패러다임 명령형 객체지향 프로그래밍 함수형 프로그래밍 프로토콜 지향 프로그래밍 Swift란? Swift 는 2014년 WWDC를 통해 처음 소개되었습니다. 기존 애플 운영체제용 언어인 Objective-C 와 함께 공존할 목적으로 만들어졌으며, 빠르고 안전하며 세련된 표현을 지원하는 프로그래밍 언어라는 점을 강조하고 있습니다. It’s a safe and fast programming language that combines the best in modern language thinking with wisdom from a diverse open source community. 더욱 빠른 성능 Fas..

XCode15+ Image Color Assets 관리 방법의 변화
목차Asset Catalogs 의 새로운 기능원리사용법사용 후 느낀 점 Asset Catalogs 의 새로운 기능XCode15 을 통해 에셋 카탈로그에 새로운 기능이 추가되었습니다.이제 다음처럼 카탈로그에 리소스를 추가하면 Color, Image를 해당 이름을 통해 상수로 불러올 수 있습니다.따라서 직접 Enum이나 Struct를 만들어 각 리소스들을 직접 상수화 시키는 번거로움이 줄었습니다. 원리에셋 카탈로그에 우리가 리소스를 추가하면 XCode에서 GeneratedAssetSymbols.swift 라는 파일을 생성하고각각 ImageResource, ColorResource라는 Struct 안에 전역 상수로 만들어 줍니다. 아래 이미지를 보면 ImageResource 를 통해 에셋 카탈로그에 있는 ..

XCode Archive 시 has no member Error 발생
목차포스팅 동기Archive 시 Type '' has no member '' 문제 발생문제될만한 곳 확인하기문제 해결 포스팅 동기개인 앱을 만들다가 어느정도 완성되기도 했고, 햅틱 반응 테스트가 필요해 테스트 플라이트에 올려보기로 했다.그런데 시뮬레이터나 실기기 연결에선 잘되던 빌드가 아카이빙에서만 빌드 에러를 뱉는 문제가 발생했다.해당 문제를 정리하는 것부터 문제의 원인까지 차근차근 접근하다보면 해결되지 않을까 싶어 포스팅하게 되었다. Archive 시 Type '' has no member '' 문제 발생 위 사진처럼 에러가 나는데, 실제 파인더 경로에 가보면 정상적으로 파일들이 있고 해당 코드부분을 눌러보면 에러메시지가 사라진다.(에러 메시지가 사라지는게 가장 의문..) 문제될만한 곳 확인하기가장..

MPNowPlayingInfoCenter 제어센터 초기세팅 및 갱신하는 방법
뮤직플레이어앱을 개발하면서 제어센터를 사용하기 위해 코드를 짰지만 webview에서 동영상을 재생하는 방식인 우리 앱에선 동작하지 않아 버리기엔 아까워 코드를 공유하고자 남깁니다. // 제어센터 초기세팅import MediaPlayerfunc MPNowPlayingInfoCenterSetting() { // 제어 센터 이벤트 수신 시작 // Info.plist에 // UIBackgroundModes : audio 또는 // Required background modes : App plays audio or streams audio/video using AirPlay 해주어야 합니다. UIApplication.shared.beginReceivi..