Commit 024f611fbb

024f611fbbf4d2405a10d649a59968617321732a

parent: d69aa35d88

Unsigned

cmc <hello@cleberg.net> · 2026-07-20 19:03 UTC

fix: match IAP product IDs to App Store Connect

The four product ID constants did not match the auto-renewable
subscriptions configured in App Store Connect, so Product.products(for:)
returned an empty array and tier(for:) resolved every purchase to .free.

Product IDs are permanent in App Store Connect, so the code is corrected
to match the configured values rather than the reverse:

  domaindig.pro.monthly      -> domaindig.pro.month
  domaindig.pro.yearly       -> domaindig.pro.annually
  domaindig.dataplus.monthly -> domaindig.proplus.monthly
  domaindig.dataplus.yearly  -> domaindig.proplus.annually

Layout: unified · split

DomainDig/PurchaseService.swift +4 −4
@@ -15,10 +15,10 @@ final class PurchaseService {
1515 }
1616
1717 static let shared = PurchaseService()
18 static let monthlyProductID = "domaindig.pro.monthly"
19 static let yearlyProductID = "domaindig.pro.yearly"
20 static let proPlusMonthlyProductID = "domaindig.dataplus.monthly"
21 static let proPlusYearlyProductID = "domaindig.dataplus.yearly"
18 static let monthlyProductID = "domaindig.pro.month"
19 static let yearlyProductID = "domaindig.pro.annually"
20 static let proPlusMonthlyProductID = "domaindig.proplus.monthly"
21 static let proPlusYearlyProductID = "domaindig.proplus.annually"
2222 static let productIDs = [
2323 monthlyProductID,
2424 yearlyProductID,