분류 전체보기
-
특정 버전에 대한 분기 처리하기 (systemVersion)iOS 2023. 7. 13. 08:50
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 특정 버전에 대한 분기처리하는 방법에 대해 알아보겠습니다 🙋🏻 일단 간단한 포스팅이 될 수도 있을것 같네요ㅎㅎ 분기 처리? 개발을 하다보면 버전 별로 코드를 다르게 동작시키는 경우가 종종 있습니다. iOS를 예를들어본다면 iOS 17에서부터 지원되는 Keyframe Animator의 사용을 하고 싶은 경우 현재 프로젝트의 미니멈 타겟은 만약 iOS 15라고 가정해볼께요. 그렇다면 우리는 특정 파일에서 해당 코드를 사용하기 위해 iOS 17 이상에서는 저 동작 그 밑에서는 요 동작 이렇게 분기 처리가 필요하죠? 자 이럴때 어떻게 처리하면 될까요? available 해당 속성을 이용해 버전을 체크하고 분기처리를 할 수 있습니다. 일단 간단하게 #available과..
-
SwiftUI - Custom ScrollTabViewSwiftUI 2023. 7. 10. 21:58
안녕하세요. 그린입니다🍏 이번 포스팅에서는 커스텀한 스크롤 탭뷰를 만들어보려해요! 정확하게는 탭뷰 내 컨텐츠가 스크롤되는것 외에도 TabBar 즉, 헤더 영역 자체가 스크롤 되는것을 구현해보려 합니다🙌 얼마전에 SwiftUI로 커스텀 탭 뷰를 구현해본적이 있어요. https://green1229.tistory.com/385 SwiftUI - Custom TabView 안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI로 커스텀한 탭뷰를 구현해보려 합니다🙌 SwiftUI에서 기본적으로 제공해주는 TabView 컴포넌트가 있지만 아예 완전 커스텀하게 탭뷰를 입맛대 green1229.tistory.com 그런데 해당 커스텀 뷰에서 탭 바의 역할을 하는 헤더 영역은 많은 갯수의 탭이 위치하게 될 경우 스크..
-
SwiftUI - 뷰의 높이가 충분치 않을때도 Sticky 유지하기SwiftUI 2023. 7. 6. 15:31
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 실제로 겪을 수 있는 SwiftUI의 구현 과정에서 문제를 알아보고 대처해보려 합니다 🙋🏻 Sticky한 스크롤 뷰는 다들 한번쯤 들어보셨을것 같아요! 만약 Sticky한 뷰가 어떤건지 처음 들어보신다면 아래 포스팅을 먼저 보고 오시면 많은 도움이 됩니다ㅎㅎ https://green1229.tistory.com/302 SwiftUI - PinnedScrollableViews (a.k.a Sticky View) 안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI에서 PinnedScrollableViews라는것에 대해 알아보겠습니다🙌 이걸 알아보게 된 배경은 프로덕트의 기능을 구현하다 스크롤뷰로 감싸진 VStack에서 green1229.tistory.com ..
-
SwiftUI - Custom TabViewSwiftUI 2023. 7. 3. 15:39
안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI로 커스텀한 탭뷰를 구현해보려 합니다🙌 SwiftUI에서 기본적으로 제공해주는 TabView 컴포넌트가 있지만 아예 완전 커스텀하게 탭뷰를 입맛대로 구성해볼 수 도 있습니다. 기본적인 탭뷰 API가 궁금하신분은 아래 포스팅을 보시면 도움이 될 수 있어요 😄 https://green1229.tistory.com/234 SwiftUI - TabView 안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 내에서 기본 애플에서 제공하는 TabView에 대해 알아보겠습니다🙌 주로 앱을 구성하다보면 하단에 홈 / 설정 등 메뉴로 갈 수 있는 TabBar에 대 green1229.tistory.com 자 이런 기본적으로 제공해주는 형태가 아닌 우리만의 커스텀..
-
SwiftUI로 캘린더 직접 구현하기 (3탄 - 보완된 캘린더)SwiftUI 2023. 6. 29. 17:44
안녕하세요. 그린입니다🍏 이번 포스팅에서는 이전에 SwiftUI로 커스텀 캘린더를 구현한적이 있습니다. https://green1229.tistory.com/362 SwiftUI로 캘린더 직접 구현하기 안녕하세요. 그린입니다🍏 이번 포스팅에서는 오랜만에 SwiftUI로 뚝닥뚝닥 해보는 시간입니다🙋🏻 뭘 뚝닥뚝닥 해볼지 고민하다가 그냥 밑도 끝도 없이 캘린더를 간단하게 직접 만들어보고 green1229.tistory.com 기본적인 구현의 포스팅이니 먼저 보고오셔도 좋습니다🙋🏻 여기서 발전시켜서 좀 더 부가적인 기능을 넣어 캘린더의 기능을 보완해봤습니다🏄🏻♂️ 어떤 기능들이 들어갔나요? 1️⃣ 현재 월 달력에서도 이전 이후 날짜가 보이면서 실제 클릭 등의 동작은 되지 않도록 추가 2️⃣ 이전 / 이후 달..
-
TestFlight 사용하기 (앱 관리자 및 테스터들)App Store 2023. 6. 26. 11:55
안녕하세요. 그린입니다🍏 이번 포스팅에서는 개발된 애플의 iOS, iPadOS, macOS 등등 앱을 테스트 하기 위해 TestFlight를 사용하는 방법에 대해 알아보겠습니다🙋🏻 해당 포스팅에서는 우선 앱 관리자가 테스터들을 등록하고 권한을 부여하는 과정과 초대 받은 테스터들이 테플을 설치하고 사용하는 방법으로 나눠보겠습니다🕺🏻 우선 아주 간단히 테스트 플라이트가 뭔지 알아보고 갈까요? TestFlight 줄여서 일명 테플은 App Store에 릴리즈하기 전에 테스터들을 초대해 앱 및 앱 클립들을 테스트하고 피드백을 얻을 수 있도록 제공해주는 도구입니다. 최대 공개 링크를 공유해 테스터들을 10,000명까지 초대할 수 있으며 한번에 최대 100개의 앱을 테스트할 수 있습니다. 업로드된 앱 빌드는 90일..
-
SwiftUI에서 Tooltip 구현하기SwiftUI 2023. 6. 22. 14:33
안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI에서 간단히 Tooltip을 직접그려보며 Shape를 다뤄볼까 합니다🙋🏻 ⚠️ 주의 - 아주 간단히 Shape를 다뤄보는것에 초점을 맞췄기에 간단할 수 있음! 우선 두가지가 필요합니다. 하나는 삼각형 모양의 Shape를 만드는것 그리고 하나는 툴팁 텍스트가 들어갈 라운드된 Rectangle 뷰를 만드는것! 먼저 삼각형 모양의 엣지를 가진 Shape를 만들어볼께요. Custom Triangle Shape private struct CustomTriangleShape: Shape { private var width: CGFloat private var height: CGFloat private var radius: CGFloat fileprivate i..
-
오픈소스 라이센스 표시iOS 2023. 6. 19. 09:59
안녕하세요. 그린입니다🍏 이번 포스팅에서는 앱을 구성하면서 사용한 오픈소스 라이센스를 디바이스 해당 앱 설정에서 표시하는 방법에 대해 알아보겠습니다🙋🏻 앱에서 사용된 오픈소스를 사용하면서 라이센스 표시를 꼭 해줘야하는 경우가 있습니다. 이때 실제 해당 앱 내부에서 설정이나 마이페이지 같은 화면에서 표시해줄 수도 있고, 디바이스 > 설정 > 해당 앱에서 라이센스 정보를 표시해줄 수도 있습니다. 여기서는 후자인 디바이스 > 설정 > 해당 앱 정보에서 라이센스를 표시하는 방법을 다뤄보겠습니다🙌 LicensePlist 라이브러리 사용 우선 사용된 오픈소스 라이센스들의 정보를 추출해오기 위하여 아래 라이브러리를 사용합니다. https://github.com/mono0926/LicensePlist GitHub - ..