15.7 C
Canberra
Tuesday, October 21, 2025

ios – Why am I getting invalidProductIDs for all my In-App Purchases though product IDs match App Retailer Join?


I’m making an attempt to retrieve my in-app buy merchandise utilizing SwiftyStoreKit in Swift.

let ids: Set = [monthly_InApp, yearly_InApp, lifetime_InApp]

SwiftyStoreKit.retrieveProductsInfo(ids) { end in
    if outcome.retrievedProducts.depend > 1 {
        for product in outcome.retrievedProducts {
            if product.productIdentifier == monthly_InApp {
                Popup.present(message: "(product.productIdentifier)", title: "retrievedProducts")
                self.monthly_Price_Str = product.localizedPrice ?? ""
                self.monthly_Price = Double(truncating: product.value)
            } else {
                Popup.present(message: "(product.productIdentifier)", title: "retrievedProducts")
                self.yearly_Price_Str = product.localizedPrice ?? ""
                self.yearly_Price = Double(truncating: product.value)
            }
        }
    }

    if outcome.error != nil {
        // Popup.present(message: "(outcome.error)", title: "error")
    }

    if outcome.invalidProductIDs.depend > 0 {
        // Popup.present(message: "(outcome.invalidProductIDs)", title: "invalidProductIDs")
    }
}

After I run this, I all the time get my product IDs in invalidProductIDs.
I additionally tried utilizing SKProductsRequest straight, and I see the identical factor:

Invalid IDs from SKProductsRequest: ["com.mkkriti.monthly", "com.mkkriti.yearly"]

What I’ve checked thus far:

My product IDs in App Retailer Join are precisely:

com.mkkriti.month-to-month

com.mkkriti.yearly

In App Retailer Join the product standing reveals Able to Submit.

Bundle identifier in Xcode matches the one in App Retailer Join.

In-App Buy functionality is enabled in Xcode.

Testing on an actual machine (not simulator).

Query:

Why do my legitimate product IDs nonetheless present up as invalid when retrieving merchandise?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles