We noticed that your app did not meet all the terms and conditions for auto-renewing subscriptions, as specified in Schedule 2, section 3.8(b) of the Paid Applications agreement.
var body: some View {
if storeHelper.hasSubscriptionProducts, let subscriptions = storeHelper.subscriptionProducts {
ForEach(subscriptions, id: \.id) { subscription in
VStack {
Text("Upgrade to " + subscription.displayName).font(.title)
Text(subscription.description).font(.title2)
PurchaseButton(purchaseState: $purchaseState, productId: productId, price: subscription.displayPrice + " / " + period)
}
.padding()
.task { await purchaseState(for: productId)}
.onChange(of: storeHelper.purchasedProducts) { _ in
Task.init {
await purchaseState(for: productId)
}
}
.onAppear() {
self.productId = subscription.id
self.period = subscription.subscription?.subscriptionPeriod.unit.localizedDescription ?? ""
let periodValue = subscription.subscription?.subscriptionPeriod.value ?? 1
if periodValue != 1 {
// TODO Month to Months
self.period = String(periodValue) + " " + self.period
}
}
}
}
Text("[Terms of Service](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/) and [Privacy Policy](https://example.com/)")
Button(action: {
Task.init {
try? await AppStore.sync()
purchasesRestored = true
}
}) {
Text(purchasesRestored ? "Purchases Restored" : "Restore Purchases")
}
.padding()
.disabled(purchasesRestored)
}