App Rejection

Hi my app has been rejected 3 times now and I’m not sure why. I can see clearly the requirement in the reviewers response but as far as I can see I covered everything.

here’s the rejection message: Guideline 3.1.2 - Business - Payments - Subscriptions

3.1.2(c) Subscription Information Before asking a customer to subscribe, you should clearly describe what the user will get for the price. How many issues per month? How much cloud storage? What kind of access to your service? Ensure you clearly communicate the requirements described in Schedule 2 of the Apple Developer Program License Agreement.

Issue Description

The submission did not include all the required information for apps offering auto-renewable subscriptions. Apps offering auto-renewable subscriptions must include all of the following required information in the binary:

  • Title of auto-renewing subscription, which may be the same as the in-app purchase product name

  • Length of subscription

  • Price of subscription, and price per unit if appropriate

  • Functional links to the privacy policy and Terms of Use (EULA)

The app metadata must also include functional links to the privacy policy and Terms of Use (EULA).

ive attached an image of the subscription sheet.

can anyone help please.

Are those terms & privacy links functional - they are grey.

Have you included the corresponding URLs in the app description?

Hi and thanks for replying, they are indeed functioning links however I think I’ve found the issue.

I found this subscriptionStorePolicyDestination(url:for:) which I’m not using. I’m only using regular links.

I think I need to do this: VStack(spacing: 10) { Button("Terms of Use") { if let url = subscriptionsManager.subscriptionPolicyURL(for: .termsOfService) { openURL(url) } } .font(.system(size: 14, weight: .regular))

        Button("Privacy Policy") {
            if let url = subscriptionsManager.subscriptionPolicyURL(for: .privacyPolicy) {
                openURL(url)
            }
        }
        .font(.system(size: 14, weight: .regular))
    }

SubscriptionsManager extension SubscriptionsManager { func subscriptionPolicyURL(for policyType: Product.SubscriptionInfo.PolicyType) -> URL? { guard let product = products.first else { return nil } return try? Product.SubscriptionInfo.subscriptionStorePolicyDestination(url: URL(string: "https://myapp.com")!, for: policyType) } }

Thank you for your post. We're investigating this issue and will contact you in App Store Connect to provide further assistance. If you continue to experience issues during review, please contact us.

App Rejection
 
 
Q