반응형

전체 글 184

SwiftUI | HeaderView(Sticky View)만들기전 알아야할 기본 상식 정의 + 만들기 - 1

상단에 이미지를 고정 설정pinnedViews 스크롤 시에도 화면 상단이나 하단에 고정시킬 수 있도록 도와주는 구조체 타입형태  pinnedViews는 SwiftUI에서 사용되는LazyVStack / LazyHStack에서 특정 Header / Footer 스크롤 상단이나 하단에 고정시켜주는 기능 pinnedViews 역할섹션 헤더가 스크롤에 따라 사라지지 않고 리스트 상단에 고정되도록하는데 사용이 됩니다설정 앱이나 연락처 앱처럼 카테고리별 섹션이 고정되는 효과를 줄 수 있습니다  LazyVStack(pinnedViews: [.sectionHeaders]) { Section { // 섹션의 콘텐츠 } header: { // 고정할 헤더 뷰 }}  우선 pinned..

SwiftUI 2024.09.19

StoreKit | InAppPurchase + StoreKit2 WWDC

In-app purchase In-App Purchase API를 사용하면 앱 내에서 디지털 콘텐츠와 서비스를 구매할 수 있는 기회를 사용자에게 제공할 수 있습니다. 사용자는 앱 내에서 구매를 진행할 수 있으며, App Store에서 홍보 중인 제품도 찾아볼 수 있습니다.StoreKit 프레임워크는 앱을 대신하여 App Store에 연결되어 결제를 안전하게 처리합니다. 이후 프레임워크는 앱에 알림을 보내고, 사용자의 모든 기기에서 In-App Purchase 거래를 앱에서 사용할 수 있도록 합니다. 현재 구매를 나타내는 각 거래에 대해, 앱은 구매된 제품을 사용자에게 제공합니다. 구매를 검증하기 위해 서버에서 거래를 확인하거나, StoreKit의 검증 기능을 사용할 수 있습니다.아래는 거래 과정에서 St..

Kit 2024.08.23

SwiftUI | 프로젝트에서 info.plist가 누락되었을 때

SwiftUI프로젝트를 생성하였을 때 info.plist 파일이 있는데 안보여서 작성하게 되었다SwiftUI프로젝트는 Xcode13에서 생성하면 info.plist파일이 없는 것을 볼 수 있는데Project Navigator에 추가하도록해보자 근데 왜  Info.plist 파일이 왜 없어졌을까는Xcode13 Release Note에서 찾아볼 수 있다  Xcode 13 Release Notes | Apple Developer DocumentationUpdate your apps to use new features, and test your apps against API changes.developer.apple.com 만약 Info.plist 변경되었을 때 추가되면 그 때 변경한 내용에 대해서만 정보를 보..

SwiftUI 2024.08.22

SwiftUI | 회원가입 만들기

회원가입 이메일 이메일 유효성 검사let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Z]{2,64}"let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegEx) 애플 로그인SignInWithAppleButton 이 구조체를 사용해서 쉽게 구현할 수 있다import SwiftUIimport AuthenticationServicesstruct SignInView: View { var body: some View { SignInWithAppleButton(.signUp) { request in request.requestedScopes = [.fullNam..

SwiftUI 2024.08.22

SwiftUI / UIKit Permission | 미디어 라이브러리 액세스

Privacy - Media Library Usage Description  미디어 라이브러리 액세스를 요청할 때 문구를 넣어서 요청할 수 있는 라이브러리 입니다권한을 부여하거나 권한을 거부하는 메시지를 넣을 수 있습니다  NSAppleMusicUsageDescription | Apple Developer DocumentationA message that tells the user why the app is requesting access to the user’s media library.developer.apple.com

Permissions 2024.08.14

UIKit | Content Hugging Priority 이해하기(가로 세로 레이아웃 조정)

오늘은 iOS 개발에서 자주 마주치는 Content Hugging Priority에 대해 이야기해보려고 합니다. 이 개념은 뷰의 크기 조정에 있어 꽤 중요한 역할을 하지만, 처음 접할 때는 조금 헷갈릴 수 있어요. 그래서 Content Hugging Priority가 뭔지, 그리고 언제 어떻게 사용해야 하는지 쉽게 설명해드리겠습니다.Content Hugging Priority란?Content Hugging Priority라는 건 말 그대로 뷰가 자신의 콘텐츠 크기를 "껴안고(hugging)" 유지하려는 우선순위(priority)를 의미해요. 뷰의 콘텐츠가 많거나 적더라도, 이 우선순위에 따라 그 뷰가 얼마나 자신의 크기를 고수할지를 결정하게 됩니다.예를 들어, UILabel을 생각해볼게요. 이 라벨에 긴..

UIKit 2024.08.10

SwiftUI | SwiftData Tutorials - List / NavigationStack / DatePicker

SwiftData Tutorials List로 통해 각 친구들이름이 표시되는걸 볼 수 있습니다그리고 Spacer()공간을 두고 우측에 출생일을 표기하고 있습니다  NavigationStack.navigationTitle을 통해 화면 상단에생일을 표기합니다 새로운 친구와 날짜를 추가하기 위해 newName / newDate를 선언합니다그리고 화면 하단에 친구 항목 UI를 고정하는데 .safeAreaInset(edge:.bottom)메서드를 사용합니다이 메서드는 상단이나 하단에 고정할 수 있습니다 import SwiftUIstruct BirthdayView: View { @State private var friends: [Friend] = [ Friend(name: "Elton Lin", ..

SwiftUI 2024.08.08
반응형