문서 메뉴

Purpl Documentation

권한과 복원

현재 고객의 활성 권한을 확인하고 App Store 구매 내역을 복원합니다.

권한 확인

Swift
let customerInfo = try await Purchases.shared.customerInfo()

if customerInfo.isEntitlementActive("plus") {
    enablePremiumFeatures()
}

로컬 모드의 CustomerInfo는 StoreKit 현재 권한 거래를 PurchaseConfiguration의 상품과 매칭해 계산합니다.

SwiftUI에서 권한 상태 관찰

customerInfoTask는 뷰가 표시될 때 고객 정보를 조회하고, 이후 구매와 복원으로 권한이 변경되면 같은 작업에 새 CustomerInfo를 전달합니다.

SwiftUI
@State private var hasPlusAccess = false

var body: some View {
    ContentView(hasPlusAccess: hasPlusAccess)
        .customerInfoTask(for: nil) { state in
            guard case .success(let customerInfo) = state else {
                return
            }

            hasPlusAccess = customerInfo.isEntitlementActive("plus")
        }
}

구매 복원

Swift
let customerInfo = try await Purchases.shared.restorePurchases()