iOS SwiftUI 샘플 코드 문의
안녕하세요. ios swiftUI spm을 사용해서 결제 모듈을 붙이고 있습니다.
샘플코드를 이용해서 실행을 해봤지만 결제하기 버튼이 나오지 않습니다.
#if !os(macOS) && canImport(SwiftUI)
import SwiftUI
import TossPayments
struct TossPaymentsView: View {
@State private var showingSuccess: Bool = false
@State private var showingFail: Bool = false
@StateObject
var viewModel = TossPaymentsViewModel()
var body: some View {
ScrollView {
VStack(spacing: 0) {
PaymentMethodWidgetView(widget: viewModel.widget, amount: PaymentMethodWidget.Amount(value: 1000))
AgreementWidgetView(widget: viewModel.widget)
}
}
Button("결제하기") {
viewModel.requestPayment(info: DefaultWidgetPaymentInfo(orderId: "123", orderName: "김토스"))
}
.alert(isPresented: $showingSuccess, content: {
Alert(title: Text(verbatim: "Success"), message: Text(verbatim: viewModel.onSuccess?.orderId ?? ""))
})
.alert(isPresented: $showingFail, content: {
Alert(title: Text(verbatim: "Fail"), message: Text(verbatim: viewModel.onFail?.orderId ?? ""))
})
.onReceive(viewModel.$onSuccess.compactMap { $0 }) { success in
showingSuccess = true
}
.onReceive(viewModel.$onFail.compactMap { $0 }) { fail in
showingFail = true
}
}
}
#endif
샘플코드를 이용해서 실행을 해봤지만 결제하기 버튼이 나오지 않습니다.
#if !os(macOS) && canImport(SwiftUI)
import SwiftUI
import TossPayments
struct TossPaymentsView: View {
@State private var showingSuccess: Bool = false
@State private var showingFail: Bool = false
@StateObject
var viewModel = TossPaymentsViewModel()
var body: some View {
ScrollView {
VStack(spacing: 0) {
PaymentMethodWidgetView(widget: viewModel.widget, amount: PaymentMethodWidget.Amount(value: 1000))
AgreementWidgetView(widget: viewModel.widget)
}
}
Button("결제하기") {
viewModel.requestPayment(info: DefaultWidgetPaymentInfo(orderId: "123", orderName: "김토스"))
}
.alert(isPresented: $showingSuccess, content: {
Alert(title: Text(verbatim: "Success"), message: Text(verbatim: viewModel.onSuccess?.orderId ?? ""))
})
.alert(isPresented: $showingFail, content: {
Alert(title: Text(verbatim: "Fail"), message: Text(verbatim: viewModel.onFail?.orderId ?? ""))
})
.onReceive(viewModel.$onSuccess.compactMap { $0 }) { success in
showingSuccess = true
}
.onReceive(viewModel.$onFail.compactMap { $0 }) { fail in
showingFail = true
}
}
}
#endif
